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…