了解__getattr__和__getattribute__之间的区别
我试图理解上的差异之间__getattr__和__getattribute__,但是,我在它失败。 堆栈溢出问题的答案与vs 之间的区别是__getattr____getattribute__: __getattribute__在查看对象的实际属性之前调用,因此很难正确实现。您可以非常轻松地进行无限递归。 我完全不知道那是什么意思。 然后继续说: 您几乎可以肯定想要__getattr__。 为什么? 我读到,如果__getattribute__失败,__getattr__则称为。那么,为什么有两种不同的方法做同样的事情呢?如果我的代码实现了新样式类,我应该使用什么? 我正在寻找一些代码示例来清除此问题。我已尽我所能搜索Google,但是我发现的答案并未彻底讨论该问题。 如果有任何文档,我准备阅读。