从示例开始,
def foo(inp, out=[]):
out.append(inp)
return out
if __name__=='__main__':
print foo('asd') #return ['asd']
print foo('bsd') #return ['asd', 'bsd']
我希望out
在函数foo
的范围内定义,并且不会传递给函数的下一次调用。但正如您在致电foo('asd')
后所看到的那样,调用foo('bsd')
将会记住其之前的通话,并['asd', 'bsd']
。我找不到out
保存在我的python运行时中。它以某种方式无形地存储。
任何人都有想法吗?