どこでもpythonオブジェクトを別のオブジェクトに置き換えるにはどうすればよいですか?
私は2つのクラスを持っていSimpleObject
ますFancyObject
. を作成しSimpleObject
、それへの参照をいくつか持っています。を作成しFancyObject
、これらすべての参照が新しいオブジェクトを指すようにします。
a = SimpleObject()
some_list.append(a)
b = FancyObject()
a = b
は私が望むものではなく、 a が指すものを変更するだけです。以下はうまくいくと読んだが、うまくいかない。「属性 __dict__ は書き込み可能ではありません」というエラーが表示されます。
a.__dict__ = b.__dict__
私が欲しいのは(疑似C)と同等です:
*a = *b
私はこれがハックであることを知っていますが、これを達成する方法はありますか?