class Cls():
def __init__(self, start):
self.value = start
class Desc():
def __get__(self, instance ,owner):
print("In Descriptor's __get__method")
return self.value
def __set__(self, instance, start):
print("In Descriptor's __set__ method")
self.value = start
value = Desc()
X = Cls('Hello')
X.value = "Hi"
上記の記述子の実装は私にはわかりません。X.value と Cls.value は同じオブジェクトを参照しており、クラスは str です。Cls.__dict__['value'] は記述子オブジェクトです。名前「値」には 2 つのタイプが割り当てられます。
誰かがこれを説明できますか?. この特定の実装の背後にあるロジックは何ですか。Cls.value または X.value が記述子オブジェクトではない理由。私はpython 3.3を使用しています