要求:
先定義乙個溫度類,然後定義兩個描述符用於描述攝氏度和華氏度兩個屬性
要求這個兩個屬性會自動進行轉換,也就是說你可以給攝氏度這個屬性賦值,然後列印的話華氏屬性是自動轉換的結果
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...