__getattr__ для статических / классовых переменных в python
У меня есть класс, как:
class MyClass:
Foo = 1
Bar = 2
Всякий раз, когдаMyClass.Foo
или жеMyClass.Bar
вызывается, мне нужно вызвать пользовательский метод, прежде чем значение будет возвращено. Это возможно в Python? Я знаю, что это возможно, если я создаю экземпляр класса, и я могу определить свой собственный__getattr__
метод. Но мой сценарий предполагает использование этого класса как такового без создания какого-либо его экземпляра.
Также мне нужен кастом__str__
метод, который будет вызван, когдаstr(MyClass.Foo)
вызывается. Предоставляет ли Python такую возможность?