标签:alt ons url print 方法 logo 内置函数 技术 函数
反射的作用:反射得作用是提高代码可读行。
__import__导入模块和import导入模块的区别:
__import__导入模块是通过字符串进行导入。 import是常用得导入模块方法。
反射常用到得4个内置函数分别为:getattr、hasattr、setattr、delattr 获取成员、检查成员、设置成员、删除成员。
实例:
最初模块调用是这样得:
# commons.py def login(): print(‘炫酷的登录页面‘) def logout(): print(‘炫酷的退出页面‘) def home(): print(‘炫酷的主页面‘) # index.py import commons def run(): inp = input(‘请输入要访问的url:‘) if inp == ‘login‘: commons.login() elif inp == ‘logout‘: commons.logout() elif inp == ‘home‘: commons.home() else: print(‘404‘)
用了反射后是这样得:
#commons.py def login(): print(‘炫酷的登录页面‘) def logout(): print(‘炫酷的退出页面‘) def home(): print(‘炫酷的主页面‘) #index.py import commons def run(): inp = input(‘请输入要访问的url:‘) # inp字符串类型 inp = "login" # 利用字符串的形式去对象(模块)中操作(寻找/检查/删除/设置)成员 # delattr() # setattr() if hasattr(commons, inp): func = getattr(commons,inp) func() else: print(‘404‘) if __name__ == ‘__main__‘: run()
模块也可以通过字符串进行导入:
def run(): # account/login inp = input(‘请输入要访问的url:‘) # inp字符串类型 inp = "login" # 利用字符串的形式去对象(模块)中操作(寻找/检查/删除/设置)成员 # delattr() # setattr() m, f = inp.split(‘/‘) obj = __import__(m) if hasattr(obj, f): func = getattr(obj,f) func() else: print(‘404‘) if __name__ == ‘__main__‘: run()
对于反射小节:
1、根据字符串的形式导入模块。 2、根据字符串的形式去对象(某个模块)中操作其成员。
标签:alt ons url print 方法 logo 内置函数 技术 函数
原文地址:http://www.cnblogs.com/luchuangao/p/6064553.html