python getattr/setattr/hasattr的用法
2017-09-01 17:48
417 查看
1.getattr(obj,attr,default)
获取对象obj的attr属性或方法,attr需要加引号:如果是属性,返回属性值,
如果返回的是方法,返回方法的内存地址,需要执行该方法,后面加()
default用于设置在不存在该属性或方法时,默认的返回值
#接上面的代码 #获取foo方法,如果不存在,默认返回‘NotExist’ foo_name = getattr(newobj,'foo','NotExist') print(foo_name) #<bound method CreateObj.foo of <__main__.CreateObj object at 0x000001EFFC569898>>
2.setattr(obj,attr,value)
给对象属性赋值,如果不存在该属性,那就先创建该属性再赋值返回值为None,
#接上面代码 print(hasattr(newobj,'age')) #False setattr(newobj,'age','10') #想当于newobj.age='10' print(hasattr(newobj,'age')) #True
3.hasattr(obj,attr)
判断obj对象是否存在attr这个属性或方法,attr需要加引号,结果返回布尔类型如:
class CreateObj(object): name = 'Lisi' def foo(self): print(self.name) newobj = CreateObj() isexist = hasattr(newobj,'name') print(isexist) #True
相关文章推荐
- python中的getattr hasattr setattr delattr
- python 学习笔记——getattr hasattr setattr delattr
- 四.python面试题 内置函数instance getattr setattr hasattr
- pythontips(2):hasattr的用法
- python settings using dir getattr setattr
- python getattr setattr
- python dataframe (method,partial,dir,hasattr,setattr,getarrt)
- set_include_path和get_include_path用法详解
- c#值get、 set用法(包含自动转换的说明)
- Python的getattr(),setattr(),delattr(),hasattr()
- php面向对象_get(),_set()的用法
- python __set__ __get__ 等解释
- python运行不了 AttributeError: module object has no attribute getdefaultlocale
- Eclipse用法和技巧七:自动生成get和set方法2
- Python的hasattr() getattr() setattr() 函数使用方法(简介)
- php面向对象_get(),_set()的用法
- 认识python中的set集合及其用法
- i2cdetect i2cdump i2cget i2cset用法
- php的set_include_path与get_include_path()的用法
- python 集合概念set用法