最近,我学习python.i遇到了一个问题,当我读了这本名为 The_Python_Tutorial 的书时。如何区分方法与默认参数。我用谷歌搜索和阅读其他书籍,而我试图解决它,但我失败了。如果你可以帮助我,PLZ。 这是我的问题:
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]
它是如何发生的?太奇怪了。我想知道的是,为什么在这两种方法和sommeone之间的差异可以解释它。感谢。