Duplicar posibles:
“Least Astonishment” in Python: The Mutable Default Argumentparámetros opcionales en las funciones de Python y sus valores predeterminados
Estoy un poco confundido acerca de cómo los parámetros opcionales trabajar en Python funciones/métodos.
Tengo el siguiente bloque de código:
>>> def F(a, b=[]):
... b.append(a)
... return b
...
>>> F(0)
[0]
>>> F(1)
[0, 1]
>>>
Por qué F(1)
vuelve [0, 1]
y no [1]
?
Quiero decir, ¿Qué está pasando dentro de?
se puede ver que fácilmente con sólo imprimir el valor de b antes de añadir a la lista. :) – sam