码迷,mamicode.com
首页 > 编程语言 > 详细

python 之反射

时间:2017-02-23 00:04:36      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:表达式   设置   没有   tar   code   target   判断   color   getattr   

通过字符串的形式导入模块

通过字符串的形式,去模块中寻找制定的函数,并执行getattr(模块名,函数名,默认值)

通过字符串的形式,去模块中设置东西setattr(模块名,函数名/变量名,lambda表达式/变量值)

通过字符串的形式,去模块中删除东西delattr(模块名,函数名)

根据字符串的形式去对象(某个模块)中操作其成员

1 inp = input(请输入模块名:)
2 inp_func = input(请输入要执行的函数:)
3 dd = __import__(inp) # 以字符串的形式导入模块
 # from xxx.xx import oo 等价于
__import__(‘xxx.xx.oo‘,fromlist = True)
4 target_func = getattr(dd,inp_func,,None) # 以字符串的形式在模块中寻找函数 如果没有找到返回None
5 r = target_func()
6 print(r)
# 内存中操作
hasattr(模块名,函数名)# 判断函数是否存在
setattr(模块名,函数名/变量名,lambda表达式/变量值)
delattr(模块名,函数名)

结果:

请输入模块名:commons
请输入要执行的函数:f1
F1

python 之反射

标签:表达式   设置   没有   tar   code   target   判断   color   getattr   

原文地址:http://www.cnblogs.com/Erick-L/p/6431444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!