def f(a,L=[]):
L.append(a)
return L
print f(1)
print f(2)
print f(3)
会输出:
[1]
[1, 2]
[1, 2, 3]
为什么会累积?
def f(a,L=[]):
L.append(a)
return L
print f(1)
print f(2)
print f(3)
会输出:
[1]
[1, 2]
[1, 2, 3]
为什么会累积?
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答884 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
这段代码等效于:
也就是说,
L
默认值是指向一个列表对象,程序开始的时候这个列表对象是空。而不是每次调用函数的时候新建一个空列表。