python筆記(十八) 描述符

2021-10-23 09:08:13 字數 1156 閱讀 4272

之前寫介紹過property函式

也就是對屬性的描述方法,比如新增,刪除,更改

class celsius:

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 fahrenheit:

#將攝氏度轉為華氏度

def __get__

(self,instance,owner)

:return instance.cel *

1.8+

32 #將華氏度轉為攝氏度

函式中有三個引數,其中instance就是例項化物件,也就是temperature我們創造出例項化物件temp

語句temp.cel也就是使用celsius中的get函式

語句temp.cel = 30也就是用celsius中的set函式

fah同理

所以這兩個溫度全是再靠乙個instance相連

python 描述 python描述符

在python中,訪問乙個屬性的優先順序順序按照如下順序 1.類屬性2.資料描述符3.例項屬性4.非資料描述符5.getattr 方法。描述符,用一句話來說,就是將某種特殊型別的類的例項指派給另乙個類的屬性 注意 這裡是類屬性,而不是物件屬性 而這種特殊型別的類就是實現了 get set delet...

python 描述符基本

相關資料 python的描述符 下一站,我等你 描述符的本質類 python為開發者提供了乙個非常強大的功能 描述符。那什麼是描述符呢?通過檢視python的官方文件,我們知道把實現了 get set 和 delete 中的其中任意一種方法的類稱之為描述符,描述符的本質是新式類,並且被 的類 即應用...

Python 描述符練習

要求 先定義乙個溫度類,然後定義兩個描述符用於描述攝氏度和華氏度兩個屬性 要求這個兩個屬性會自動進行轉換,也就是說你可以給攝氏度這個屬性賦值,然後列印的話華氏屬性是自動轉換的結果 class celsius def init self,value 26.0 self.value float valu...