反射getattr,hasattr,setattr,delattr
Posted 东大网管
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射getattr,hasattr,setattr,delattr相关的知识,希望对你有一定的参考价值。
通过字符串映射或修改程序运行时的状态、属性、方法, 有以下4个方法
getattr(object, name_str, default=None) 根据字符串name_str去获取obj对象里的方法内存地址
hasattr(object,name_str) 判断一个对象里是否有对应的name_str字符串的方法
setattr(obj, y, v)这个相当于obj.y=v
delattr(x, y)
class Foo(object): def __init__(self): self.name = \'wupeiqi\' def func(self): return \'func\' obj = Foo() # #### 检查是否含有成员 #### hasattr(obj, \'name\') hasattr(obj, \'func\') # #### 获取成员 #### getattr(obj, \'name\') getattr(obj, \'func\') # #### 设置成员 #### setattr(obj, \'age\', 18) setattr(obj, \'show\', lambda num: num + 1) # #### 删除成员 #### delattr(obj, \'name\') delattr(obj, \'func\') 反射代码示例
setattr
以上是关于反射getattr,hasattr,setattr,delattr的主要内容,如果未能解决你的问题,请参考以下文章
DAY21 反射(hasattr,getattr,setattr,delattr)
反射getattr,hasattr,setattr,delattr
反射(hasattr , getattr, setattr) 输入的字符串用来运行程序
Python的反射机制hasattr() getattr() setattr() 函数使用方法详解