我做了这个功能:
def test(num,v=[]):
v.append(num)
if num == 10:
return v
return test(num+1,v)
当我使用它时,之前调用的结果似乎仍然存在:
>>> test(3)
[3, 4, 5, 6, 7, 8, 9, 10]
>>> test(3)
[3, 4, 5, 6, 7, 8, 9, 10, 3, 4, 5, 6, 7, 8, 9, 10]
>>> test(3)
[3, 4, 5, 6, 7, 8, 9, 10, 3, 4, 5, 6, 7, 8, 9, 10, 3, 4, 5, 6, 7, 8, 9, 10]
如果我只v
在函数声明中使用而不是v=[]
,它似乎可以工作。
我错过了什么?我希望函数每次运行时都是新鲜的。我使用 Python 2.7.3。