温度计
#摄氏度属性的描述符类
class Celsius:
def __init__(self, value = 26): #温度初始化
self.value = float(value) #实例化对象,并转化成浮点数
def __get__(self, instance, owner): #当self的属性被获得的时候,获得摄氏度初始值
return self.value
def __set__(self, instance, value): #当self被设置的时候,获得实例化对象,并转化成浮点数
self.value = float(value)
#华氏度属性的描述符类
class Fahrenheit:
def __get__(self, instance, owner): #当self 的属性被获得的时候,获得公式: 摄氏度的值*1.8+32
return instance.cel * 1.8 + 32
def __set__(self, instance, value): # 当self被设置的时候,获得公式:(华氏度的值-32)/1.8
instance.cel = (float(value) - 32) / 1.8
#温度计,调用属性
class Temperature:
cel = Celsius() #摄氏度
fah = Fahrenheit() #华氏度