首页 > 代码库 > 反射的使用
反射的使用
反射的作用:通过字符串去匹配对象中的成员(成员一般指模块中的函数)。
例1:
1 py1.py 2 def login(): 3 print("登录") 4 def logout(): 5 print("退出") 6 def manager(): 7 print("管理") 8 9 10 在py2.py中调用py1.py 11 import py1 12 def run(): 13 choice=input("输出你的选择:") #通过不同的输入请求,来调用不同模块 14 if choice=="login": 15 py1.login() 16 elif choice=="logout": 17 py1.logout() 18 elif choice=="manager": 19 py1.manager() 20 else: 21 print(404) 22 if __name__ == "__main__": 23 run()import py1 24 缺点:这要需要重复写很多if elif else
使用反射来改进代码: py2.py import py1 def run(): choice=input("输出你的选择:") func=getattr(py1,choice) #匹配py1模块中的choice函数 func() if __name__ == "__main__": run() 或者 py2.py import py1 def run(): choice=input("输出你的选择:") if hasattr(py1,choice): #判断py1中是否有choice函数,有点话执行 func=getattr(py1,choice) func() if __name__ == "__main__": run()
反射的使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。