:说说Python中的反射?
答:在反射机制就是在运行时,动态的确定对象的类型,并可以通过字符串调用对象属性、方法、导入模块,是一种基于字符串的事件驱动。通过字符串的形式,去模块寻找指定函数,并执行。利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员。
Python是一门解释型语言,因此对于反射机制支持很好。在Python中支持反射机制的函数有getattr()、setattr()、delattr()、exec()、eval()、__import__,这些函数都可以执行字符串。
在 Python 中,反射的实现很简单,主要通过以下 4 个函数:
1. getattr 语法
getattr(object,name[,default])
#参数
# · object -- 对象
# · name -- 字符串,对象属性
# · default-- 默认返回值,如果不提供该参数,在没有对应属性时,将触发AttrbuteError.
# 2. hasattr 语法
hasattr(object,name)
# 参数
# · object -- 对象
# · name -- 字符串,属性名
# 返回值 :如果对象有该属性返回 True,否则返回 False