私はpygameとpythonをいじっていますが、クラスの属性が変更されたときに関数を呼び出せるようにしたいと思っています。私の現在の解決策は次のとおりです。
class ExampleClass(parentClass):
def __init__(self):
self.rect = pygame.rect.Rect(0,0,100,100)
def __setattr__(self, name, value):
parentClass.__setattr__(self,name,value)
dofancystuff()
Firstclass = ExampleClass()
これは正常に機能し、rect値を。で変更するとdofancystuffが呼び出されますFirsclass.rect = pygame.rect.Rect(0,0,100,100)
。しかし、私が言うならFirstclass.rect.bottom = 3
。 __setattr__
そして、dofancystuffは呼び出されません。
だから私の質問は、サブクラスの属性への変更をどのようにインターセプトできるかということです。
編集:また、私がこれについて間違った方法で行っている場合は、Pythonに関してはあまり知識がないことを伝えてください。