当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python __name__用法及代码示例


由于Python中没有main()函数,因此当向解释器发出运行Python程序的命令时,将执行0级缩进的代码。然而,在此之前,它将定义一些特殊变量。 __name__ 就是这样一个特殊变量。如果源文件作为主程序执行,则解释器将 __name__ 变量设置为值“__main__”。如果此文件是从另一个模块导入的,则 __name__ 将设置为模块的名称。
__name__ 是一个内置变量,其计算结果为当前模块的名称。因此,它可用于检查当前脚本是否单独运行或通过与 if 语句组合来导入其他位置,如下所示。

考虑两个单独的文件 File1 和 File2。


# File1.py  
  
print ("File1 __name__ = %s" %__name__)  
  
if __name__ == "__main__":  
    print ("File1 is being run directly") 
else:  
    print ("File1 is being imported") 

# File2.py  
  
import File1  
  
print ("File2 __name__ = %s" %__name__)  
  
if __name__ == "__main__":  
    print ("File2 is being run directly") 
else:  
    print ("File2 is being imported") 
Now the interpreter is given the command to run File1.py.
python File1.py
Output :
File1 __name__ = __main__
File1 is being run directly


And then File2.py is run.
python File2.py
Output :
File1 __name__ = File1
File1 is being imported
File2 __name__ = __main__
File2 is being run directly

如上所示,当直接运行 File1.py 时,解释器将 __name__ 变量设置为 __main__,当通过导入运行 File2.py 时,解释器将 __name__ 变量设置为 python 脚本的名称,即 File1。因此,可以说 if __name__ == “__main__” 是使用 python File1.py 等命令从命令行运行脚本时运行的程序的一部分。


相关用法


注:本文由纯净天空筛选整理自佚名大神的英文原创作品 __name__ (A Special variable) in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。