2011-03-19 6 views

Respuesta

12

() es un 0-tuple. (foo) da como resultado el valor de foo. Por lo tanto, (()) da como resultado una tupla 0.

De the tutorial:

; una tupla con un elemento se construye siguiendo un valor con una coma ( no es suficiente para encerrar un único valor entre paréntesis).

+0

Agregué mi respuesta a la tuya, espero que no te importe. – ripper234

+0

Es una tupla vacía, para ser correcta. – glglgl

2

Ahora veo. De the tutorial.

; una tupla con un elemento se construye siguiendo un valor con una coma ( no es suficiente para encerrar un único valor entre paréntesis).

Así que (()) no es la tupla que contiene la tupla vacía - esto es que tupla: ((),)

+0

Y bajo ciertas condiciones, los paréntesis ni siquiera son necesarios. '>>> 3,' '(3)' –

6

Por la misma razón por la que (4) == 4: la adición de paréntesis alrededor de una expresión no altera su significado (a menos de lo contrario, se habría agrupado de manera diferente, por supuesto).

Tenga en cuenta que (foo) es no a 1-tuple. De lo contrario, cosas como 3 * (4 + 5) serían un error, ya que (4 + 5) sería una 1-tupla que contiene 9 y no se puede agregar un número a 1-tupla.

Cuestiones relacionadas