1 #定义摄氏度的一个类 2 class Celsius: 3 def __init__(self,value = 26.0):#初始化温度为26.0 4 self.value = float(value) #将温度转化为浮点数 5 6 def __get__(self,instance,owner):#定义获取摄氏温度的方法 7 #返回初始化的self.value 8 return self.value 9 10 def __set__(self,instance,value):#定义设置摄氏温度的方法 11 self.value = float(value) #返回设置后的摄氏温度 12 13 #定义华氏度的一个类 14 class Fahrenheit: 15 16 def __get__(self,instance,owner): 17 return instance.cel * 1.8 + 32 18 19 def __set__(self,instance,value): 20 instance.cel = (float(value) - 32) / 1.8 21 22 class Temperature: 23 24 cel = Celsius() 25 fah = Fahrenheit() 26 27 >>> temp = Temperature() 28 >>> temp.cel 29 26.0 30 >>> temp.fah 31 78.80000000000001 32 >>> temp.cel = 30 33 >>> temp.cel 34 30.0 35 >>> temp.fah 36 86.0 37 >>> temp.fah = 120 38 >>> temp.cel 39 48.888888888888886