关于 描述符
class Celsius:def __init__(self,value = 26.0):
self.value = float(value)
def __get__(self,instance,owner): #为什么get方法里面要传入owner这个参数,set里面就不需要了呢??
print(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() 固定的,__get__必须传输进去。
官方文档:https://docs.python.org/zh-cn/3.6/reference/datamodel.html#implementing-descriptors
页:
[1]