七.描述符 __get__, __set__, __delete__
阿新 • • 發佈:2020-12-30
七.描述符 __get__, __set__, __delete__
1.什麼是描述符
-
描述符的本質就是一個新式類, 在這個新式類中至少實現了
__get()__
,__set()__
,__delete()__
中的一個就稱為描述符, 也被稱為描述符協議__get__(self,inatance,owener)
: 當訪問一個屬性的時候觸發__set__(self,instance,value)
: 為一個屬性賦值時觸發__delete__(self,instance)
: 使用 del 刪除一個屬性的時候觸發
self 描述符的物件 instance 使用描述符的物件 owner 設定了描述符的類(也就是instance的類) value instance的值 -
定義一個描述符
class MyDecriptor:
def __get__(self, instance, owner):
print('觸發get')
def __set__(self, instance, value):
print('觸發set')
def __delete__(self, instance):
print('觸發delete')