python 反射
Posted wuxinyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 反射相关的知识,希望对你有一定的参考价值。
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
以上是关于python 反射的主要内容,如果未能解决你的问题,请参考以下文章