__getattr__ para variáveis estáticas / de classe em python
Eu tenho uma classe como:
class MyClass:
Foo = 1
Bar = 2
Sempre queMyClass.Foo
ouMyClass.Bar
é invocado, preciso que um método personalizado seja invocado antes que o valor seja retornado. É possível em Python? Sei que é possível criar uma instância da classe e definir minha própria__getattr__
método. Mas meu cenário envolve o uso dessa classe como tal, sem criar nenhuma instância dela.
Também preciso de um costume__str__
método a ser chamado quandostr(MyClass.Foo)
é invocado. O Python fornece essa opção?