反射:
通过字符串额形式,导入模块
通过字符串的形式,去模块中寻找指定函数,并执行函数。
__import__(“字符串形式的模块名称”),就可以导入相应的模块
通过内置函数 getattr(模块名,‘函数的字符串名称’)来指定需要执行的函数
注意找到了函数,还需要在函数名后面加()来执行函数。
// getattr,setattr,hasattr,delattr
根据字符串的形式去对象(某个模块)中操作其成员。
inp = input("请输入要导入的模块名称:") #inp 是要导入模块的字符串表现形式。 # dd 是为其导入模块的别称。 dd = __import__(inp) # f1 是 导入模块中的某个函数名称 # ret 是f1()的返回值。 ret = dd.f1() print (ret)
# !/usr/bin/env python # -*- coding:utf8 -*- inp = input("请输入要导入的模块:") dd = __import__(inp) # 通过内置函数getattr来指定模块中的函数 inp_func = input("请输入要执行的函数: ") target_func = getattr(dd, inp_func) print(target_func) # target_func 即为 模块中的某一函数。这只是函数,需要在函数后面加()才表示执行函数 result = target_func() print(result)