在我的程序中经历了这种奇怪。这是造成麻烦的部分的片段:
#!/usr/bin python
def test_func( newList, myList=[] ):
for t in newList:
for f in t:
myList.append(f)
return myList
print test_func([[3, 4, 5], [6, 7, 8]])
print test_func([[9, 10, 11], [12, 13, 14]])
第一次调用该函数时,它会产生
[3, 4, 5, 6, 7, 8]
第二次
[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
我不知道它为什么这样做。python 函数是静态的,因为它们保留了在后续调用中传递给它们的值,还是我的代码中缺少某些内容?