如何在Python中的新类上正确重写__setattr__和__getattribute__?

如何在Python中的新类上正确重写__setattr__和__getattribute__?,第1张

如何在Python中的新类上正确重写__setattr__和__getattribute__?

它的

super(ABCImmutable, self).__setattr__(name, value)

在Python 2中,或

super().__setattr__(name, value)

在Python 3中

另外,饲养

AttributeError
不是 你如何退回到默认行为
__getattribute__
。您可以使用

return super(ABCImmutable, self).__getattribute__(name)

在Python 2或

return super().__getattribute__(name)

在Python 3上。

筹集

AttributeError
跳过默认处理并转到
__getattr__
,或者
AttributeError
如果没有则在调用代码中产生
__getattr__

请参阅有关自定义属性访问的文档。



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存