要回答第二个问题,哪里是
_v?
您的描述符版本保留
_v在描述符本身中。描述符的每个实例(类级实例
SomeClass1以及类对象中的所有对象级实例
SomeClass2将具有不同的值)
_v。
看这个版本。此版本更新与描述符关联的对象。这意味着对象(
SomeClass1或
x2)将包含属性
_v。
class MyDescriptor(object): def __get__(self, obj, type=None): print "get", self, obj, type return obj._v def __set__(self, obj, value): obj._v = value print "set", self, obj, value



