理解__getattr__和__getattribute__之间的区别
- 论坛
- 理解__getattr__和__getattribute__之间的区别
13 浏览
理解__getattr__和__getattribute__之间的区别
我试图理解__getattr__
和__getattribute__
之间的区别,但是我失败了。
Stack Overflow问题Difference between __getattr__
vs __getattribute__
的答案中说:
在查看对象的实际属性之前,会首先调用
__getattribute__
,因此正确实现它可能很棘手。你很容易陷入无限递归的境地。
我完全不知道这是什么意思。
然后它继续说:
你几乎肯定想要使用
__getattr__
。
为什么呢?
我读到如果__getattribute__
失败,会调用__getattr__
。那么为什么有两个不同的方法做同样的事情呢?如果我的代码实现了新式类,我应该使用哪个?
我正在寻找一些代码示例来解答这个问题。我已经尽力在谷歌上搜索,但是找到的答案没有全面讨论这个问题。
如果有任何文档,我愿意阅读。