要求:
先定义一个温度类,然后定义两个描述符用于描述摄氏度和华氏度两个属性
要求这个两个属性会自动进行转换,也就是说你可以给摄氏度这个属性赋值,然后打印的话华氏属性是自动转换的结果
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 + 32
def __set__(self,instance,value)
instance.cel=(float(value-32))/1.8
class Temperature:
cel = Celsius()
#fah这个属性是有一个描述符类的,当这个属性被赋值的时候,也就会执行这个描述符类的set方法
fah = Fahrenheit()