python3学习之反射的四种基本方法

class Person(object):
    
    def __init__(self):
        pass
    def info(self):
        print('我是person类中的info方法')

 

1.getattr()方法函数

这个方法是根据字符串去某个模块中寻找方法this

instantiation = reflect.Person()#先实例化
f = getattr(instantiation,'info')#使用getattr函数去寻找字符串的同名方法
f()#调用方法
输出结果:我是person类中的info方法

2.hasattr()方法spa

这个方法是根据字符串去判断某个模块中该方法是否存在code

instantiation = reflect.Person()#先实例化
f = hasattr(instantiation,'info') print(f) 输出结果:True

3.setattr()方法blog

这个方法是根据字符串去某个模块中设置方法字符串

instantiation = reflect.Person()
f = setattr(instantiation,'exit','this is a exit method')
f2 = hasattr(instantiation,'exit')
print(f2)
输出结果就是True

4.delattr()方法get

这个方法是根据字符串去某个模块中删除方法it

instantiation = reflect.Person()#实例化
f = delattr(instantiation,'exit')
f = hasattr(instantiation,'exit')
print(f)
输出结果就是False
相关文章
相关标签/搜索