Итак, вот кусок кода:аргументы по умолчанию в функции - Python
def function(item, stuff = []):
stuff.append(item)
print stuff
function(1)
# print '[1]'
function(2)
# print '[1,2]'
Как я понял, это показывает, что значения по умолчанию, изменены во время выполнения программы все еще изменилось в каждой функции вызовов. Но почему этот фрагмент кода:
def function(item, stuff = 0):
stuff += item
print stuff
function(3)
function(3)
отпечатки «3» на каждом прогоне?
Похоже, что 'stuff' повторно инициализируется при каждом вызове. – CompanyDroneFromSector7G