反射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() 函数使用方法详解

类的特殊方法 反射 getattr hasattr setattr delattr

Python hasattr,getattr,setattr,delattr