我可以使用class属性作为实例方法的默认值吗?

我可以使用class属性作为实例方法的默认值吗?,第1张

我可以使用class属性作为实例方法的默认值吗?

这是因为,根据文档:

执行功能定义时将评估默认参数值。 这意味着在定义函数时,表达式将被计算一次

__init__()
定义了时,的定义
MyClass
是不完整的,因为它仍在解析中,因此您还不能参考
MyClass.__DefaultName
。解决该问题的一种方法是将一个特殊的唯一值传递给
__init__()
,例如
None

def __init__(self, name=None):    if name is None:        name = MyClass.__DefaultName    # ...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存