python描述器是什么?

本文教程操作环境: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__
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。