__getattr__ для статических / классовых переменных в python

У меня есть класс, как:

class MyClass:
     Foo = 1
     Bar = 2

Всякий раз, когдаMyClass.Foo или жеMyClass.Bar вызывается, мне нужно вызвать пользовательский метод, прежде чем значение будет возвращено. Это возможно в Python? Я знаю, что это возможно, если я создаю экземпляр класса, и я могу определить свой собственный__getattr__ метод. Но мой сценарий предполагает использование этого класса как такового без создания какого-либо его экземпляра.

Также мне нужен кастом__str__ метод, который будет вызван, когдаstr(MyClass.Foo) вызывается. Предоставляет ли Python такую ​​возможность?

Ответы на вопрос(5)

Ваш ответ на вопрос