最近,我在学习python。我在读这本书时遇到了一个问题,名为The_Python_Tutorial帮帮我,请。这是我的问题:
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 g(a,L=None):
if L is None:
L=[]
L.append(a)
return L
print (g(1))
print (g(2))
print (g(3))
它只是显示
[1]
[2]
[3]
它是怎么发生的?太奇怪了。我只想知道为什么这两种方法之间存在差异,有人可以解释它。谢谢。