本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、概念
描述器是一个Python对象。只要具有__get__(), __set__(), __delete__()方法中任意一个方法的对象就叫做描述器。
2、分类
如果一个类仅仅实现了__get__()方法,称为非数据描述器non-data descriptor;
如果一个类实现了__get__(),__set__()方法,称为数据描述器data descriptor;
3、实例
下面的instance是包含被访问属性的对象实例,而owner则是被描述器修辞的类。
classCelsius(object): def__init__(self,value=0.0): self.value=float(value) def__get__(self,instance,owner): returnself.value def__set__(self,instance,value): self.value=float(value) classTemperature(object): celsius=Celsius() temp=Temperature() temp.celsius#callsCelsius.__get__