在Python程序当中,经常会看到包含有if name == ‘main’:的语句段,之前因为没有系统认真学习Python的语法,现在来具体详细说明一下该语句段的作用
1.1. 运行当前name_demo.py文件文件时,name__变量名的值就被赋值为__main,如下例所示:
def print_name():
print("Helloworld")
print(__name__)
if __name__ == '__main__':
print_name()
结果如下:
Helloworld
__main__
当前主程序会运行if语句下的内容
- 当其他模块用import引用时,__name__就会被赋值为原来所在模块的模块名name_demo,如下例所示:
from name_demo import print_name
print_name()
输出结果:
Helloworld
name_demo
这样其他模块在引用该模块的时候,就不会运行该模块if语句下的内容
还有一种我在论坛上看到的说法,__name__变量名就相当于“我是谁”的问题,在当前模块下,也就是自己谈论“我是谁”,就认为我就是“我”。当在其他模块下,也就是别人认识你的时候,就会以你的名字为代号,所以在其他模块中,__name__就会被赋值为原来所在模块的模块名。