来自https://docs.python.org/2/howto/descriptor.html:
descr.__get__(self, obj, type=None) --> value
descr.__set__(self, obj, value) --> None
descr.__delete__(self, obj) --> None
为什么__get__
方法可以访问type
,但其他两个方法不能访问?
答案 0 :(得分:3)
在__get__
中,type
参数是一个类名,在通过类访问属性时很有用,因为在这种情况下obj
(实例)将是{{1 }}。在None
中,您不需要__set__
参数,因为无法通过类设置描述符的值,您只需用新值覆盖描述符。
考虑以下代码
type