Python中getattr、getattr、getattribute的用法是什么
Admin 2022-06-18 群英技术资讯 1181 次浏览
这篇文章主要讲解了“Python中getattr、getattr、getattribute的用法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中getattr、getattr、getattribute的用法是什么”吧!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日志模块logging的使用方法总结,ogging模块默认级别是WARNING,意味着只会追踪该级别以上的事件,除非更改日志配置,想了解更多相关资料的小伙伴可以参考下面文章内容
本文中记录的是如何使用pandas来实现hive中爆炸函数的功能
在Python里,我们有时候会做需要多行输出的程序。例如:1、点餐系统 不停地问:你要点什么食物?2、文本编辑 不停地输入文字(仅限IDLE等Python自带编辑器 )我们Python中有一种输入语句 : input。但是,它只能单行输入所以呢,我们就要通过Python的其他语句来实现多行输入
在python中:按位的运算,都按位的运算,都是把参加运算的数的二进制形式进行运算。1 与运算:A与B值均为1时,A、B与的运算结果才为1,否则
pygame是python用来写游戏的扩展包,用这个扩展包,可以比较容易的构造一个游戏窗口,这篇文章主要给大家介绍了关于如何利用Python创建一个游戏窗口的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008