Pythonでクラスがあるとしましょう:
class Foo(object):
a = 1
b = 2
「b」ではなく「a」にアクセスするときに、いくつかの追加処理を行いたいと考えています。たとえば、私がやりたいことは、属性の値をインクリメントすることだとしましょう。
> f = Foo()
> f.a # Should output 2
> f.a # Should output 3
> f.a # Should output 4
> f.b # Should output 2, since I want the extra behavior just on 'a'
__getattr__ や __getattribute__ を経由する方法があるように感じますが、私にはそれがわかりませんでした。
余分なものは何でもかまいませんが、必ずしも属性に関連している必要はありません (print 'Hello world' など)。
ありがとう。