美文网首页
if__name__ == '__ main__'原理

if__name__ == '__ main__'原理

作者: 阿栋oxo | 来源:发表于2019-11-16 14:47 被阅读0次

1、原理

  1. 当if__name__ == '__ main__':为.py文件本身的语句的时候,则条件语句为真,可继续执行
  2. 当if__name__ == '__ main__':为.py文件作为模块被导入的时候,则条件语句为假,不可继续执行
    if name == 'main':的运行原理
    每个python模块(python文件,也就是此处的 test1.py 和 test2.py)都包含内置的变量 name
    当该模块被直接执行的时候,name 等于文件名(包含后缀 .py ,即test.py);
    如果该模块 import 到其他模块中,则该模块的 name 等于模块名称(不包含后缀.py,即test)。
    注:“main” 始终指当前执行模块的名称(包含后缀.py,即test.py)。进而当模块被直接执行时,name == 'main' 结果为真。

2、实验说明

pchuant@localhost:~$ cat test1.py                               test1.py文本内容
#!/usr/bin/python
#-*- coding:utf-8 -*-
print ("__name__的值:"+__name__)
if __name__  == '__main__':
    print ("123")                                                                      

pchuant@localhost:~$ cat test2.py                              test2.py文本内容 
#!/usr/bin/python
import test1

pchuant@localhost:~$ ./test1.py                                  执行test1.py,打印123
__name__的值:__main__
123

pchuant@localhost:~$ ./test2.py                                 执行test2.py,不打印123 
__name__的值:test1

相关文章

网友评论

      本文标题:if__name__ == '__ main__'原理

      本文链接:https://www.haomeiwen.com/subject/yvsyictx.html