python的文件有两种用处
1.自己作为脚本而被执行
2.被别的文件引入而被执行
那么 if __name__ == '__main__'的作用就能体现出来了:控制两种用处执行的过程
话不多说了直接上两段代码吧
no.1(单独执行,新建name.py)
print('im fan') if __name__ == "__main__": print('im good')
执行结果为
im fan
im good
no.1(新建main.py,import name.py)
import name.py
执行结果为
im fan
因为每个模块中都包含内置变量__name__, 当运行模块被执行的时候,__name__等于文件名(包含了后缀.py);如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。而“__main__”等于当前执行文件的名称(包含了后缀.py)。进而当模块被直接执行时,__name__ == 'main'结果为真。