我最近想在python中练习使用字典,偶然发现这两个信息。这两段代码都使用空字典,(对我来说)是相同的。我想我要求这两者之间的区别,哪一个更有利和/或更方便。
#1
def foo(dct = {}):
#2
def foo(dct = None):
if dct == None:
dct = {}
答案 0 :(得分:1)
除非你真的知道你在做什么,否则不要使用可变对象作为函数的默认参数;每次调用该函数时,它都将使用相同的字典,因为它是在定义函数时创建的,而不是在调用函数时创建的。