模块(moudle)本质上是含有代码可被python调用的文件(.py, c或者c++的扩展),每一个模块内部都有一些函数或者变量属性,每个模块都有一个__name__变量记录这个模块的名字,这个变量是全局变量,保证其他python文件想要import时如何确定该文件即是要导入的文件。
包(package是一系列模块构成的集合),每一个包相当于许多模块的集合,且每个包都有一个__init__.py模块,里面可以是空的也可以不是空的,__init__.py的模块名字就是包的名字。
如果正在执行的python文件没有被其他文件导入,(即不是作为模块被import)此时这个文件是程序的入口,相当于一开始就在浅层执行的文件,而不需要python去文件目录中寻找对应的文件来导入代码,这时其__name__='__main__', 也就是正在执行的作为程序入口的文件(不像是模块)的名字是__main__.
#一个进程只对应一个模块的实例,无论被导入多少次,每个模块在整个解释器进程仅有一个实例存在。
#在不同的命令行窗口,不同的notebook是不同的解释器进程。
1 import m
2 m.__name__
3 __name__
输出:
原文链接: https://www.cnblogs.com/zy1120192493/p/13121908.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/354825
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!