0

最近,我在学习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]

它是怎么发生的?太奇怪了。我只想知道为什么这两种方法之间存在差异,有人可以解释它。谢谢。

4

0 回答 0