0

我最近想练习在 python 中使用字典,偶然发现了这两条信息。两段代码都使用空字典,并且(对我来说)是一回事。我想我是在问这两者之间的区别,哪一个更有利和/或更方便。

#1

    def foo(dct = {}):

#2

    def foo(dct = None):
        if dct == None:
            dct = {}
4

1 回答 1

1

不要使用可变对象作为函数的默认参数,除非你真的知道自己在做什么;每次调用该函数时,它将使用相同的字典,因为它是在定义函数时创建的,而不是在调用时创建的。

于 2012-06-28T16:25:00.587 回答