python.魔法方法2

温度计

#摄氏度属性的描述符类
class Celsius:         
    def __init__(self, value = 26):  #温度初始化
        self.value = float(value)    #实例化对象,并转化成浮点数 

    def __get__(self, instance, owner):  #当self的属性被获得的时候,获得摄氏度初始值
        return self.value

    def __set__(self, instance, value):   #当self被设置的时候,获得实例化对象,并转化成浮点数
        self.value = float(value)

#华氏度属性的描述符类
class Fahrenheit:        
     def __get__(self, instance, owner):   #当self 的属性被获得的时候,获得公式: 摄氏度的值*1.8+32
        return instance.cel * 1.8 + 32
     def __set__(self, instance, value):    # 当self被设置的时候,获得公式:(华氏度的值-32)/1.8
        instance.cel = (float(value) - 32) / 1.8


#温度计,调用属性
class Temperature:
    cel = Celsius()    #摄氏度
    fah = Fahrenheit() #华氏度
阅读更多
文章标签: 对象
个人分类: python 学习
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

python.魔法方法2

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭