php程序员学习python3学习第十五天
1,通过字符串的形式导入模块 反射 __import__()
# -*- coding: utf-8 -*- #反射 通过字符串的形式导入模块 通过字符串的形式,去模块中寻找指定函数并执行 import coms # BB = __import__(coms) #等同于AA r = coms.f1() print(r) #根据用户输入进行导入模块 im_name = input('模块名') print(im_name,type(im_name)) #此时类型为str 不可以import im_name 进行导入 #可以使用__import__进行导入 DD = __import__(im_name) re = DD.f1() print(re)
2,getattr() 字符串的形式查找模块中的属性
# -*- coding: utf-8 -*- #getattr() 以字符串的形式执行导入模块中的函数 in_name = input('模块名') in_func = input('函数名') dd = __import__(in_name) f = getattr(dd, in_func) fe = f() print(fe) #a
3,反射 根据字符串形式去某个对象中操作其成员
# -*- coding: utf-8 -*- #反射 根据字符串形式去某个对象中操作其成员 import coms #检测模块中是否具有指定的属性 r = hasattr(coms, 'f1') print(r) #根据字符串形式在模块中获取 f = getattr(coms, 'f1') re = f() print(re) #根据字符串形式设置属性 r1 = hasattr(coms, 'name') print(r1) #False setattr(coms, 'name', 'age') r2 = hasattr(coms, 'name') print(r2) #True #去模块中把某个属性删除 delattr(coms, 'name')
4,使用__import__() 导入嵌套的模块
#使用__import__()导入嵌套的模块,可以设置属性fromlist = True im = __import__('lib.test.com', fromlist=True) print(im)
-------------------------立码平天下------------------------------

浙公网安备 33010602011771号