描述符有关
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()
此乃甲鱼上课例题,已知Temperature 的 fah 会触发cel 的 __set__, 但是 cel 怎样触发 fah 的 __set__? 假设做T=Temperature()
注意 Celsius类调用的是self.value,也就是T.cel.value,返回值可以对T.cel赋值。而Fahrenheit类调用的是,instance.cel和instance.fah也就相当于对T.cel和T.fah直接读取或赋值。
3#说的就是对的,可能表述你不一定能一下接受。 哪一讲里面的?能更详细点吧? 不用cel 来触发 fah的,因为统一是用cel来结算的。
所以只要cel的结果就可以,fah是通过cel转换的 没看明白
页:
[1]