【发布时间】:2014-07-10 16:07:46
【问题描述】:
我正在研究 Python 的对象属性访问模式(Descriptor HowTo Guide 和 Data model docs)。我不能清楚地理解的是,Guido 为什么同时为对象提供__getattr__ 和__getattribute__ 方法?它们都做完全相同的事情,但调用方式不同。
对我来说,这似乎是一个糟糕的设计可以通过更糟糕的设计来修复。我的意思是,如果某些内容需要重构,则不应将其与以高或更高优先级调用的魔术方法“粘合”。
问题是 - 如果一个足够完美,为什么会有两种类似的方法?
我不是指描述符,它们是不同的。
【问题讨论】:
标签: python object attributes accessor