欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python笔记(十八) 描述符

程序员文章站 2022-04-09 10:50:05
之前写介绍过property函数也就是对属性的描述方法,比如添加,删除,更改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...

之前写介绍过property函数
也就是对属性的描述方法,比如添加,删除,更改

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()  

python笔记(十八) 描述符
函数中有三个参数,其中instance就是实例化对象,也就是Temperature
我们创造出实例化对象temp
语句temp.cel也就是使用Celsius中的get函数
语句temp.cel = 30也就是用Celsius中的set函数
fah同理
所以这两个温度全是再靠一个instance相连

本文地址:https://blog.csdn.net/yogur_father/article/details/107321333