OVH Cloud OVH Cloud

Une autre syntaxe pour les commentaires

16 réponses
Avatar
Amaury Forgeot d'Arc
Bonsoir,

J'ai vu sur le canal irc #pypy un truc bizarre (ce n'est pas le seul),
et je l'ai un peu modifié pour en faire une devinette:

def f():
return 0 -- XXX in-progress

Passe sans faire de SyntaxError.
Les -- indiquent un commentaire, mais seulement en ADA ou en PL/SQL !

Il m'a bien fallu 30 secondes pour comprendre comment Python pouvait
accepter cette ligne.
Et vous?

--
Amaury

6 réponses

1 2
Avatar
hg
MCI, Shadok Gouroudoudou wrote:

Bonsoir !

C'est pas dans la doc Python, mais dans le livre d'arithmétique de ma
fille.

Dans le même style, je n'ai pas vu, dans la doc Python (ni dans le
tutorial), d'explication sur les opérations (addition, soustraction,
etc.)
Et pourtant :
print 100--+--++--+--++--+--++--+--23
123








--
@-salutations

Michel Claveau


Excellent ! tu me donnes la référence du livre ?

hg


Avatar
Sylvain Defresne
MCI, Shadok Gouroudoudou wrote:

Re !

Sinon, en pure Python, -- est équivalent à +

--
@-salutations

Michel Claveau



Je te crois, mais c'est écrit ou ?
http://docs.python.org/lib/operator-map.html


Eh bien, je dirais parce que c'est parsé comme une moins binaire suivit
d'un moins unaire (sauf en début d'expression où c'est parsé comme deux
moins unaire sucessif). Dans tout les cas c'est équivalent à utiliser un
plus (en tout cas pour les types se comportant comme des types
numériques vis à vis des opérations convernées), mais en moins performant.

--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?


Avatar
MCI, Shadok Gouroudoudou
Bonsoir !

C'est pas dans la doc Python, mais dans le livre d'arithmétique de ma
fille.

Dans le même style, je n'ai pas vu, dans la doc Python (ni dans le
tutorial), d'explication sur les opérations (addition, soustraction,
etc.)
Et pourtant :
print 100--+--++--+--++--+--++--+--23
123








--
@-salutations

Michel Claveau

Avatar
MCI, Shadok Gouroudoudou
Il faudra attendre que ma fille le ramène de l'école.

Pour l'instant, elle n'a ramené que des dessins (et des notes pas très
bonnes).




--
@-salutations

Michel Claveau
Avatar
hg
JBB wrote:

MCI, Shadok Gouroudoudou wrote:

Re !

Sinon, en pure Python, -- est équivalent à +
- est un operateur 'unaire' (symetrique) qui change le signe, donc -- x


est equivelant à x + est l'operateur unitaire qui ne change pas le signe
et donc ++x donne x pour peu x possede cet operateur ( int, float)
de même que not not x donne x si x vaut True ou False


--
@-salutations

Michel Claveau



Je te crois, mais c'est écrit ou ?
http://docs.python.org/lib/operator-map.html

hg






Mon propos était de ne pas comprendre """--""" comme étant un seul
opérateur ... ce que j'avais compris au début et qui est le cas pour
d'autres.

Ce qui me fait d'ailleurs penser que -- ne devrait pas être accepté par
l'interpréteur ... qui devrait imposer au moins un espace - - ... mais je
ne suis pas d'attaque pour aller dire ça à Guido :-)


hg



Avatar
JBB
MCI, Shadok Gouroudoudou wrote:

Re !

Sinon, en pure Python, -- est équivalent à +
- est un operateur 'unaire' (symetrique) qui change le signe, donc -- x est equivelant à x


+ est l'operateur unitaire qui ne change pas le signe et donc ++x donne x
pour peu x possede cet operateur ( int, float)
de même que not not x donne x si x vaut True ou False


--
@-salutations

Michel Claveau



Je te crois, mais c'est écrit ou ?
http://docs.python.org/lib/operator-map.html

hg






1 2