摄氏度和华氏度之间的转换
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=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()
if __name__=='__main__':
temp = Temperature()
print(temp.cel)
temp.cel=32
print(temp.fah)
temp.fah=200
print(temp.cel)
结果:
26.0
89.6
93.33333333333333