我试图了解以下两种方法之间的区别:
def first_append(new_item, a_list=[]):
a_list.append(new_item)
return a_list
def second_append(new_item, a_list=None):
if a_list is None:
a_list = []
a_list.append(new_item)
return a_list
first_append
a_list
多次调用时不断增加,导致它增长。但是,second_append
总是返回一个长度为 1 的列表。这里有什么区别?
例子:
>>> first_append('one')
['one']
>>> first_append('two')
['one', 'two']
>>> second_append('one')
['one']
>>> second_append('two')
['two']