すでに知られているように、__getattribute__()
メソッドをインスタンスに対して変更しようとしています。__getattirbute__
はPythonで読み取り専用の属性です(編集:appereantly、いくつかのオブジェクトに対して、そうではない)。私が気にしていることは、次のような新しいオブジェクトを作成することです:Pythonで__getattribute __()を上書きする方法
def create_new_instace(old_instance):
class temp(old_instance.__class__):
def __init__(self,*args,**kwargs):
"Since we will copy an already inited instance"
pass
def __getattribute__(self,attr):
# do stuff
new_instance = temp()
# magically copy all attrs of old_instance to new_instance
return new_instance
このようなことは可能ですか?私は特に問題がない、私はちょうどこれを行う方法を知りたい。
問題の詳細や、システムの目標がわかっている場合は、より詳細なヘルプを得ることができます。 –
属性の読み込み可能性は '__setattribute__'メソッドに依存します – pupssman