- 测试类
class Test(object): def __init__(self): self.name = '张三' self.age = 18 def say(self): print('2022年12月12日')
- 反射
""" getattr获取对象属性/对象方法 hasattr判断对象是否有对应的属性及方法 delattr删除指定的属性 setattr为对象设置内容 """ if __name__ == '__main__': test = Test() # 是否存在属性或方法 if hasattr(test, 'say'): # 获取属性或方法 say_method = getattr(test, 'say') if str(type(say_method)) == "<class 'method'>": # 执行方法 say_method() # 添加属性或方法 setattr(test, 'square', lambda x: x * x) result = test.square(2) # 删除属性或方法 delattr(test, 'age') # 'Test' object has no attribute 'age' print(test.age)
python反射
最新推荐文章于 2024-05-02 23:37:30 发布