7
votes

Pourquoi (()) égal ()?

>>> (()) == ()
True
>>> (())
()

0 commentaires

3 Réponses :


2
votes

Je vois maintenant. De Le tutoriel .

; Un tuple avec un article est construit en suivant une valeur avec une virgule (elle n'est pas suffisant pour enfermer un seul valeur entre parenthèses).

SO (()) n'est pas le tuple qui contient le tuple vide - c'est que tuple: ((),)


1 commentaires

Et sous certaines conditions, les parens ne sont même pas nécessaires. >>> 3, (3,)



6
votes

Pour la même raison que (4) == 4 : L'ajout de parenthèses autour d'une expression ne modifie pas sa signification (à moins que cela n'aurait autrement été regroupé différemment).

Notez que (foo) est pas 1 tuple. Sinon, des choses comme 3 * (4 + 5) serait une erreur comme (4 + 5) serait un 1 tuple contenant 9 et vous ne pouvez pas ajouter de numéro. à un 1 tuple.


0 commentaires

12
votes

() est un 0-tuple. (foo) entraîne la valeur de foo . Par conséquent, (()) entraîne un 0 tuple.

de Le tutoriel :

; Un tuple avec un article est construit en suivant une valeur avec une virgule (elle n'est pas suffisant pour enfermer un seul valeur entre parenthèses).


0 commentaires