通过字符串映射或修改程序运行时的状态、属性、方法, 有以下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
时间: 2024-10-10 02:33:51