Python 描述符練習

2021-10-06 10:30:22 字數 873 閱讀 9011

要求:

先定義乙個溫度類,然後定義兩個描述符用於描述攝氏度和華氏度兩個屬性

要求這個兩個屬性會自動進行轉換,也就是說你可以給攝氏度這個屬性賦值,然後列印的話華氏屬性是自動轉換的結果

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 = value

def__del_

(self,instance)

:del self.value

class

fahrenheit

:def

__get__

(self,instance,owner)

:return instance.cel*

1.8+

32def

__set__

(self,instance,value)

instance.cel=

(float

(value-32)

)/1.8class

temperature

: cel = celsius(

)#fah這個屬性是有乙個描述符類的,當這個屬性被賦值的時候,也就會執行這個描述符類的set方法

fah = fahrenheit(

)

python 描述 python描述符

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

python 描述符基本

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

Python高階 描述符

什麼是描述符 如果乙個類實現了 get set delete 中的任意一種方法的類,用這個類建立的物件叫做描述符物件 描述符物件賦值給另乙個類的類屬性,那麼這個類就是描述符 描述符分為兩種 1.資料描述符 同時定義了 get 和 set 方法的描述符稱為資料描述符 2.非資料描述符 只定義了 get...