最进有些萌新老是混洗python导入模块的三种方法,甚至不知道各个都有什么作用,这回我来彻底讲解下,让你们不再迷茫。
@TOC
修养一: import 模块名
直接使用 import ,但是再调用模块中的函数的时候,需要加上模块的命名空间。写个例子看看:
1 | #用于计算摄氏度和华氏度的相互转换 |
再写一个文件来导入刚才所写的模块:
1 | # cf_t2.py |
程序实现如下:
1 | 32摄氏度 = 89.60 华氏度 |
修养二: from 模块名 import 函数名
第一种方法有些读者可能不是很喜欢,因为这个模块的名字太长了,每次调用模块里的函数都要写这么长的命名空间,真是费力不讨好又容易出错,所以第二种方法应运而生。
这种导入方法会直接将模块的命名空间覆盖进来,所以调用的时候也就不需要再加上命名空间了:
1 | # cf_t3.py |
如果要写入的函数名过多,这里还可以使用通配符星号(*)来导入模块中所有的命名空间:
1 | from cf_t1 import * |
笔者个人观点:在导入模块的时候应尽量避免通配符的导入,因为这样就不清楚当前名称空间中存在哪些名称了。为了清楚起见,最好坚持使用常规导入方法 (import 模块名)。(毕竟在写大项目的时候,某个函数出现了BUG,为了能找到这个函数是来自哪个模块是必不可少的,所以为了以后方便也不在乎多打点字的)建议:可以遵循PEP 8 的建议不使用通配符导入 。
修养三: import 模块名 as 新名字
最好的总是留在最后,第三种方法结合了前两种的优势,使用这种方法可以给导入的命名空间起个新名字:
1 | # cf_t4.py |
提示:强烈要求大家不要使用这种方法,因为这样做会使得命名空间的优势荡然无存,一不小心还会陷入名字混乱的局面。
真是的,是不是发现了,说了这么多,到头来还是建议使用常规方法导入模块。
是的,这只是建议而已,这个其实是根据自身情况来判定的啦,多数情况下是使用常规方式而已。
因此你可根据自身情况灵活使用的。
原文链接https://blog.csdn.net/weixin_43347550/article/details/106048759