On 09/04/14 09:38, Rock Neurotiko wrote:
x = []
Pero se lo estás pasando en la línea:
def foo(x = []):
Según lo que leo, la función crea una variable x, y le asigna un valor
x.append(1), en ningún momento la destruye ni la reinicia.
La variable x se queda en memoria y por lo tanto al llamar de nuevo la
función foo() se agrega un valor a la lista, recuerda que las listas son
mutables.
Para que siempre tengas un mismo valor mejor sería usar una tupla:
def foo(x=()):
x = (1)
print(x)
foo()
1
foo()
1
tal como se describe en la resolución de variables locales y globales de
Python.
Es mi observación, salvo mejor opinión,
_______________________________________________
Python-es mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/