empaquetar y desempaquetar
Tny
a.porrua en gmail.com
Mar Abr 25 14:11:04 CEST 2006
¿por qué ocurre esto?
>>> def tupla():
return(1,2,3)
>>> def otra(a,b,c):
print a,b,c
>>> otra(tupla())
Traceback (most recent call last):
File "<pyshell#7>", line 1, in -toplevel-
otra(tupla())
TypeError: otra() takes exactly 3 arguments (1 given)
>>> def otra(a=0, b=0, c=0):
print a,b,c
>>> otra(a,b,c=tupla())
Traceback (most recent call last):
File "<pyshell#21>", line 1, in -toplevel-
otra(a,b,c=tupla())
NameError: name 'a' is not defined
>>> otra(tupla())
(1, 2, 3) 0 0
¿cómo se pueden desempaquetar tuplas en la llamada a una función?
es decir no desempaquetar primero y llamar despúes:
a,b,c=tupla()
otra(a,b,c)
Más información sobre la lista de distribución Python-es