python描述符詳解
阿新 • • 發佈:2018-12-17
1描述符:
描述符是指將某種特殊型別的類的例項支配給另外一個類的屬性。
對於特殊型別必須實現以下三個方法中至少一個方法:
def __get__(self,instance,owner):
-用於訪問屬性,它返回屬性的值
def __set__(self,instance,value):
-將在屬性的分配操作中呼叫,不返回任何內容
def __delete__(self,instance):
-控制刪除操作,不返回任何內容
2、溫度類的舉例:
要求:
(1)定義一個溫度類,然後定義兩個描述符類用於描述攝氏溫度和華氏溫度兩個屬性;
(2)要求兩個屬性之間可以相互自動轉換。
實現程式碼如下:
class Cel:
def __init__(self,value=26.0):
self.value=float(value)
def __get__(self,instance,owner):
return self.value
def __set__(self,instance,value):
self.value=float(value)
class Fah:
def __get__(self,instance,owner):
return instance.cel*1.8+32
def __set__(self,instance,value):
instance.cel=(float(value)-32)/1.8
class Temperature:
cel=Cel()
fah=Fah()
執行結果如下: