0.溫度轉換題目
今天的這道題目旨在練習兩個魔法方法,題目來源於魚C論壇小甲魚課程,如圖:
1.完整代碼分享
Python版本: Python3.x
運行平臺: Windows
class Celsius:
def __init__(self, value=26):
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
def __set__(self, instance, value):
instance.cel = (float(value) -32) / 1.8
class Temperature:
cel = Celsius()
fah = Fahrenheit()
2.程序運行測試
>>> temp = Temperature()
>>> temp.cel
26.0
>>> temp.cel = 30
>>> temp.fah
86.0
>>> temp.fah = 100
>>> temp.cel
37.77777777777778
默認攝氏溫度設置爲26.0;
當攝氏溫度設置爲30,華氏溫度輸出86.0;
當華氏溫度設置爲100,攝氏溫度輸出37.7777…