Python:模块中的特殊变量__name__
模块中的特殊变量__name__
我们在模块内部常常会看到这样的代码:
if __name__ == '__main__':
main()
在一个模块中,python会在模块内部创建一个变量__name__
,
当模块直接执行时,__name__
会被赋值为__main__
,
当模块被导入时,__name__
会被赋值为模块的名称。
因此,我们可以通过__name__
,使模块中的一些代码仅在直接运行时被执行,而在被导入时不执行。
例子:
- 我的文件层级关系如下:
# myModule01.py
def function01():
print('__name__ == __main__')
def function02():
print('__name__ != __main__')
if __name__ == '__main__':
function01()
if __name__ != '__main__':
function02()
# 以下为直接运行结果
# __name__ == __main__
#
# invoking.py
from myPac import myModule01
print(myModule01.__name__)
# 以下为运行结果
# __name__ != __main__
# myPac.myModule01
#
moyutime:本文仅是学习心得,观点仅供参考,祝愿读者学习途中快乐且不断有所收获。