1 #Author : Kelvin 2 #Date : 2019/1/22 20:38 3 class Foo: 4 def __get__(self, instance, owner): 5 print("__get__") 6 def __set__(self, instance, value): 7 print("__set__") 8 instance.__dict__["x"]=value 9 def __delete__(self, instance): 10 print("__delete__") 11 12 class Bar: 13 x=Foo() 14 def __init__(self,a): 15 self.x=a 16 17 18 b=Bar(1) 19 print(b.__dict__) 20 del b.x 21 """ 22 注意事项: 23 ① 描述符是新式类,调用描述符类的类也应该是新式类 24 ② 必须把描述符定义成调用者类的类成员属性 25 ③ 严格根据优先级顺序执行 26 """