Python中getattr、getattr、getattribute的用法是什么
Admin 2022-06-18 群英技术资讯 338 次浏览
getattr(object, name[, default])
是Python的内置函数之一,它的作用是获取对象的属性。
示例
>>> class Foo: ... def __init__(self, x): ... self.x = x ... >>> f = Foo(10) >>> getattr(f, 'x') 10 >>> f.x 10 >>> getattr(f, 'y', 'bar') 'bar'
object.__getattr__(self, name)
是一个对象方法,当找不到对象的属性时会调用这个方法。
示例
>>> class Frob: ... def __init__(self, bamf): ... self.bamf = bamf ... def __getattr__(self, name): ... return 'Frob does not have `{}` attribute.'.format(str(name)) ... >>> f = Frob("bamf") >>> f.bar 'Frob does not have `bar` attribute.' >>> f.bamf 'bamf'
object.__getattribute__(self, name)
是一个对象方法,当访问某个对象的属性时,会无条件的调用这个方法。该方法应该返回属性值或者抛出AttributeError
异常。
示例
>>> class Frob(object): ... def __getattribute__(self, name): ... print "getting `{}`".format(str(name)) ... return object.__getattribute__(self, name) ... >>> f = Frob() >>> f.bamf = 10 >>> f.bamf getting `bamf` 10
__get__()
方法是描述器方法之一。描述器用于将访问对象属性转变成调用描述器方法。
示例
>>> class Descriptor(object): ... def __get__(self, obj, objtype): ... print("get value={}".format(self.val)) ... return self.val ... def __set__(self, obj, val): ... print("set value={}".format(val)) ... self.val = val ... >>> class Student(object): ... age = Descriptor() ... >>> s = Student() >>> s.age = 12 set value=12 >>> print(s.age) get value=12 12
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在本篇文章里小编给大家整理的是一篇关于Python对多个sheet表进行整合实例讲解内容,有兴趣的朋友们可以学习下。
这篇文章主要介绍了python语言的优势是什么,从各个方面做了分析,需要的朋友们可以参考下
这篇文章主要介绍了Python 高级教程之线程进程和协程的代码解析,包括使用线程模块的简单示例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要介绍了Python推导式使用详情,推导式是 for 循环的简化使用方法,使用推导式,将一个可迭代对象中的数据遍历到某一个容器当中,下面文章详细介绍需要的小伙伴可以参考一下
马上不就到圣诞节了嘛,我看到朋友圈里很多小伙伴再纷纷炫耀自己收到的专属圣诞树,今天小编给大家介绍的是通过Python绘制的五合一版圣诞树:圣诞树+落叶+雪花+背景音乐+浪漫弹窗。感兴趣的小伙伴快来学习一下吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008