美文网首页
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