摘要:Importtimess##反射:根据字符串形式操作对象(模块)中的成员#根据用户输入内容导入模块input=input=__Import__uu=res。Md5按字符串打印模块中的#搜索函数,并执行#getattr以按字符串inputfunc=inputfunc=getattr搜索模块中的函数/全局变量#在res模块中搜索函数,如果找不到,print nofoundprint#hasattr()确定模块中是否存在函数或全局变量u=hasattrprint#setattr#向模块中添加全局变量:如果现有的或新的#成功,则返回none=setattrprint#none=hasattrprint#True#delattr删除模块中的变量或函数delattrm=hasattrprint#False
import timesss
##反射:根据字符串的形式去对象(模块)中操作其成员(查找/获取/删除/添加)
#根据用户输入内容,导入模块(字符串形式导入模块)
inp = input("请输入模块名:")
res = __import__(inp)
uu = res.md5("123456")
print(uu)
#字符串方式去模块中查找函数,并执行
# getattr 以字符串形式去模块中寻找函数/全局变量
inpfunc = input("请输入要执行的函数名;")
func = getattr(res,inpfunc,'no found') # 去res模块中查找inpfunc函数,找不到则打印no found
print(func())
# hasattr() 判断某个模块中是否存在某个函数或全局变量
u = hasattr(timesss,'name')
print(u)
# setattr(object, name, value)
#给模块增加一个全局变量:现有的或一个新的
#成功返回none
t = setattr(timesss,'sex','girl')
print(t) #None
m = hasattr(timesss,'sex')
print(m)# True
#delattr(object, name)删除模块中某个变量或者函数
delattr(timesss,'sex')
m = hasattr(timesss,'sex')
print(m)#False