Estou tentando entender a diferença entre __getattr__
e __getattribute__
, no entanto, estou falhando nisso.
A resposta para a pergunta Stack Overflow Diferenç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__
falhar, __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. Eu 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.