Python3中if __name__ == '__main__'深度解析

Python中__name__ 的使用:

__name__ 是一个系统变量(前后加了双下划线为系统变量,普通变量不能如此命名)

1、如果当前模块为主模块(即调用其他模块的模块),那么此模块名字即为'__main__'

2、如果当前模块被import,那么此模块名字即为文件名字(不加后边的.py)

 

Python中执行if __name__ == '__main__':实例

#tst1.py

print("tst1 name:", __name__)

if __name__ == '__main__':
	print('tst1 run as main!')
#tst2.py

import tst1

print('tst2 name:', __name__)
tst1
print('tst2 run as main!')

1、执行tst1.py结果

tst1 name: __main__
tst1 run as main!
[Finished in 0.0s]

直接作为脚本执行,__name__即为'__main__'

2、执行tst2.py结果

tst1 name: tst1
tst2 name: __main__
tst2 run as main!
[Finished in 0.0s]

tst1被作为模块import,此时tst1.py中__name__即为'tst1',tst2中__name__即为'__main__'

你可能感兴趣的:(Python)