python 描述符有什么用_什么是Python描述符?

什么是Python描述符?刚学习Python的可能对它一无所知,下面就给大家详细解释Python描述符,看明白后就能清楚的知道描述符的实际作用了。Python 中,通过使用描述符,可以让程序员在引用一个对象属性时自定义要完成的工作。本质上看,描述符就是一个类,只不过它定义了另一个类中属性的访问



什么是Python描述符? 那些刚刚学习过Python的人可能对它一无所知。 这是Python描述符的详细说明。 了解它之后,您可以清楚地了解该描述符的实际效果。

在Python中,通过使用描述符,程序员可以自定义在引用对象属性时要完成的工作。

本质上,描述符是一个类,但是它定义了另一个类中的属性访问方法。 换句话说,一个类可以将属性管理委托给描述符类。

描述符是Python中复杂属性访问的基础。 它在内部用于实现属性,方法,类方法,静态方法和超类型。

描述符类基于以下3种特殊方法,换句话说,这3种方法构成描述符协议:

__set __(self,obj,type = 无):设置属性时将调用此方法(由本节稍后的设置器指示);

__get __(self,obj,value):读取属性时将调用此方法(本节将在本节后面表示为getter);

__delete__ (自身,obj):当在属性上调用del时,将调用此方法。

其中,实现setter和getter方法的描述符类称为数据描述符; 相反,如果仅实现getter方法,则将其称为非数据描述符。

实际上,每次搜索属性时,描述符协议中的方法都会由类对象的特殊方法__getattribute __()调用(注意不要将其与__getattr __()混淆) 。 也就是说,每次使用class object.attribute(或getattr(类对象,属性值)的调用方法)时,__getattribute __()都会被隐式调用,并按以下顺序查找属性:[ k0]

1.验证属性是否为类实例对象的数据描述符;

2.如果没有,请检查是否可以在类实例对象的__dict__中找到该属性;

3.最后,检查属性是否是类实例对象的非数据描述符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值