千锋教育-做有情怀、有良心、有品质的职业教育机构

python描述器中__getattribute__调用

来源:千锋教育
发布时间:2023-11-14 18:21:01
分享

python描述器中__getattribute__调用

1、说明

在Python中一切皆对象,所有对象都有一个默认的方法__getattribute__(self,name)。

该方法会在我们使用.访问obj的属性时会自动调用,为了防止递归调用,它总是实现为从基类object中获取object.__getattribute__(self,name),该方法大部分情况下会默认从self的__dict__字典中查找name(除了特殊方法的查找)。

2、实例

描述器正是由__getattribute__()方法调用,其大致逻辑为:

def__getattribute__(self,key):

v=object.__getattribute__(self,key)

ifhasattr(v,'__get__'):

returnv.__get__(self)

returnv

重写__getattribute__()会阻止描述器的自动调用。

以上就是Python描述器中__getattribute__调用,希望对大家有所帮助。更多Python学习推荐:请关注IT培训机构:千锋教育。

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • pythonpillow如何处理图像 pythonpillow如何处理图像1、说明是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。2、实例来看看最常见的图像缩放操作,只需三四行代码:fromPILi
  • pythonbase64是什么 pythonbase64是什么1、说明base64是一种表示具有64个字符的任意二进制数据的方法。Base64编码将3字节二进制数据编码为4字节的文本数据,长度增加了33%,优点是编码的文本数据可以直
  • pythonOrderedDict怎么用 pythonOrderedDict怎么用1、为了维持Key的顺序,可以使用OrderedDict。OrderedDict的Key按插入顺序排列,不是Key本身。>>>fromcollectionsim
  • pythondefaultdict的使用注意 pythondefaultdict的使用注意1、说明(1)默认值是调用函数返回的,函数在创建defaultdict对象时传入。(2)除了在Key不存在的时候返回默认值外,defaultdict的其他行
  • pythoncontextmanager()的转换 python中contextmanager()的转换1、说明当发出请求时,requests库会在将请求实际发送到目标服务器之前准备该请求。请求准备包括像验证头信息和序列化JSON内容等。2、实例可以通
  • pythonHTTP方法有哪些 python中HTTP方法有哪些1、除了GET之外,其他流行的HTTP方法包括POST,PUT,DELETE,HEAD,PATCH和OPTIONS。requests为每个HTTP方法提供了一个方法,与