python中getattr函数的用法是怎样的
Admin 2022-08-15 群英技术资讯 1887 次浏览
这篇文章给大家介绍了“python中getattr函数的用法是怎样的”的相关知识,讲解详细,步骤过程清晰,有一定的借鉴学习价值,因此分享给大家做个参考,感兴趣的朋友接下来一起跟随小编看看吧。getattr是python里的一个内建函数
getattr()这个方法最主要的作用是实现反射机制。也就是说可以通过字符串获取方法实例。这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时候动态加载。
python里面跟getattr相关的有hasattr,setattr,delattr ,那么我们通过下面的例子,来详细的说说他们的用法。
1 class Xiaorui: 2 def __init__(self): 3 self.name = 'xiaorui' 4 5 def setName(self, name): 6 self.name = name 7 8 def getName(self): 9 return self.name 10 11 def greet(self): 12 print "Hello, i'm %s" % self.name 13 14 foo = Xiaorui() 15
16print hasattr(foo, 'setName')
一. hasattr(object,name)
判断object中是否具有name属性,例如:
print print hasattr(foo, 'setName') #判断setName是否存在,存在则返回True。
True
二. getattr(object,name,default)
如果存在name属性(方法)则返回name的值(方法地址)否则返回default值。
print getattr(foo, 'name', 'NA') #存在name属性,所以返回其value
xiaorui
print getattr(foo, 'age', 'NA')
NA
三. setattr(object,name,default)
setattr(foo,’age’,’18’) #字符串可能会列出一个现有的属性(或一个新的属性)。这个函数将值赋给属性的
setattr(foo, 'age', '18') print getattr(foo, 'age', 'NA') 18
四. delattr(object,’name’)
delattr(foo,’name’)#删除属性name,原值为‘xiaorui’
delattr(foo, 'name') print getattr(foo, 'name', 'not find')
not find
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
定义差集: A,B是两个集合,所有属于A且不属于B的元素构成的集合, 就是差集。交集: A,B是两个集合,既属于A又属于B的元素构成的集合
python结构体数组在NumPy中可以如下定义内存对齐python自定义结构体具体方法如下python结构体数组在C语言中我们可以通过struct关键字定义结构类型,结构中的字段占据连续
相信对于大多数熟悉Python的人来说,一定都听说并且使用过pip这个工具,但是对它的了解可能还不一定是非常的透彻,今天小编就来为大家介绍10个使用pip的小技巧,相信对大家以后管理和使用Python当中的标准库会有帮助
这篇文章主要介绍了Python解析CDD文件的方法,使用Python 脚本解析CDD文件,统一定义,一键生成,十分快捷,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Python内置函数-id()函数。id() 函数返回对象的唯一标识符,标识符是一个整数。CPython 中 id() 函数用于获取对象的内存地址。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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