首页 > 其他 > 详细

十六——reflect反射机制

时间:2020-01-03 09:11:22      阅读:73      评论:0      收藏:0      [点我收藏+]

一、单目录

commons页面

技术分享图片

 

 visit页面

技术分享图片

 

 为了方便防止commons文件有很多函数导致visit中也写多个elif,我们使用python提供的反射机制。其主要就表现在getattr()等几个内置函数上

技术分享图片

 

 

 func = getattr(commons,inp),通过getattr()函数,从commons模块中,查找到和inp字符串一样的函数名,并将其返回,然后赋值给func变量。变量func此时就指向那个函数,func()就可以调用该函数。

hasattr(commons,inp),用来判断commons中是否有某个成员,返回True或False。

二、多目录

处理函数被放置在多个不同目录的不同模块中时,为了减少一次次的在visit中导入n个模块,可以使用python内置的__import__(字符串参数)函数解决。

技术分享图片

 

 对于跨目录去导入模块,加上fromlist=True即可!!!fromlist=True是导入全部目录

十六——reflect反射机制

原文:https://www.cnblogs.com/KeenaCherry/p/12142944.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!