Entendendo a diferença entre __getattr__ e __getattribute__
Estou tentando entender a diferença entre__getattr__
e__getattribute__
no entanto, estou falhando nisso.
oresponda à pergunta Stack OverflowDiferença entre__getattr__
vs__getattribute__
diz:
__getattribute__
é invocado antes de examinar os atributos reais no objeto e, portanto, pode ser difícil de implementar corretamente. Você pode terminar em recursões infinitas com muita facilidade.
Não tenho absolutamente nenhuma idéia do que isso significa.
Então continua dizendo:
Você quase certamente quer__getattr__
.
Por quê?
Eu li que se__getattribute__
falha,__getattr__
é chamado. Então, por que existem dois métodos diferentes fazendo a mesma coisa? Se meu código implementa as novas classes de estilo, o que devo usar?
Estou procurando alguns exemplos de código para esclarecer esta questão. Pesquisei no Google da melhor maneira possível, mas as respostas que encontrei não discutem o problema completamente.
Se houver alguma documentação, estou pronto para ler isso.