Message 329274 - Python tracker (original) (raw)
https://docs.python.org/3/reference/expressions.html#attribute-references
getattr is the correct method to override in most (but not all) cases. I don't think we should encourage people to override getattribute as the first resort.
getattribute is a more specialised method that is used by the interpreter at a deeper level. It is called on every attribute access, so it ought to be as fast as possible, while getattr is only called if the named attribute doesn't exist.
I don't think anything needs to change here.