Я пытаюсь понять разницу между __getattr__
и __getattribute__
, однако, я терплю это.
Вопрос о переполнении стека Разница между getattr и getattribute гласит:
__getattribute__
вызывается, прежде чем смотреть на фактические атрибуты на объект, и поэтому может быть сложно правильно выполнять. Вы можете оказаться в бесконечные рекурсии очень легко.
Я понятия не имею, что это значит.
Затем он продолжает:
Вы почти наверняка хотите
__getattr__
.
Почему?
Я читал, что если __getattribute__
терпит неудачу, вызывается __getattr__
. Итак, почему существуют два разных метода, которые делают одно и то же? Если мой код реализует новые классы стилей, что я должен использовать?
Я ищу примеры кода, чтобы устранить этот вопрос. У меня есть Googled, насколько я могу, но ответы, которые я нашел, не обсуждают проблему полностью.
Если есть какая-либо документация, я готов ее прочитать.