解决问题时,每次创建函数时都需要将参数更新arg
为默认值dict()
在解决问题的过程中,类似的条目对我来说似乎很合乎逻辑:
def arbitrary(arg = dict()):
return arg
a = arbitrary()
b = arbitrary()
print(a is b) # True
然而,奇怪的是,对于这样的条目,arg
每次都会分配指向同一词典的链接。
接下来是以下条目(已满足要求):
def arbitrary(arg = None):
if not arg:
arg = dict()
return arg
a = arbitrary()
b = arbitrary()
print(a is b) # False
对于这个案例,有没有更简洁或普遍接受的写作方式?
arg
UPD:重要说明:必须在声明阶段或在函数的最顶部将空字典分配给变量。问题中的示例是压缩为“可重现问题”的代码。