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

python 反射

时间:2018-04-26 23:22:34      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:成员   lse   pre   内容   bsp   object   导入模块   col   val   

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 反射

标签:成员   lse   pre   内容   bsp   object   导入模块   col   val   

原文地址:https://www.cnblogs.com/wuxinyan/p/8955247.html

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