zl程序教程

您现在的位置是:首页 >  Python

当前栏目

python描述器是什么?

2023-03-20 15:26:41 时间

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则是被描述器修辞的类。

class Celsius(object):
 
    def __init__(self, value=0.0):
 
        self.value = float(value)
 
    def __get__(self, instance, owner):
 
        return self.value
 
    def __set__(self, instance, value):
 
        self.value = float(value)
 
 
 
class Temperature(object):
 
    celsius = Celsius()
 
 
 
temp=Temperature()
 
temp.celsius #calls Celsius.__get__

以上就是python描述器的基本介绍,对于这种特殊的python对象,大家感兴趣的可以在课后查阅更多资料,也可以持续关注这类型的文章。学会后就可以运行实例体验描述器的方法了。