Python小程序分享03——溫度轉換(魔法方法)

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…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章