python 描述器_python描述器是什么?

4afeb0ac347578c9cfe12ca264099cfc.png

在python的面向对象学习中,有一个特殊的对象引起了我们的注意。它的名称叫描述器,如果没有深入接触过,想必大家不会把它看做对象使用。在区分是否为描述器上也非常方便,只要是否含有某种方法即可。下面我们就python描述器的概念、分类、实例分别进行详解。

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对象,大家感兴趣的可以在课后查阅更多资料,也可以持续关注这类型的文章。学会后就可以运行实例体验描述器的方法了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值