我怎么能区分python中的default-parameter方法

时间:2013-12-25 06:06:09

标签: python default-parameters

最近,我学习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之间的差异可以解释它。感谢。

0 个答案:

没有答案