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