カスタムPythonのクラスインスタンスの__dict__
属性が descriptorであることに注意してくださいカスタムPythonクラスインスタンスの `__dict__`属性がインスタンスの実際の属性ではなく、クラスの記述子となるのはなぜですか?
https://stackoverflow.com/a/44880260/156458から。 インスタンス自体には属性がありません。 が提供するクラスです(type(instance).__dict__['__dict__'].__get__(instance)
が返されます)。object.__dict__
が存在する可能性がありますが、object.__dict__['__dict__']
は です。
カスタムPythonクラスインスタンスの__dict__
属性がインスタンスの実際の属性ではなく、そのクラスの記述子であるのはなぜですか?
クラスのすべてのインスタンスは同じ記述子を持つため、すべてのインスタンスでそれを複製する必要はありません。 – Barmar
@Barmarであるがクラスのインスタンスが異なるとインスタンスの属性が異なるため、異なるインスタンス属性を格納するために独自の '__dict__'が必要です。正しい? – Tim