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


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。因此,可以说如果 __name__ == “__main__” 是使用 python File1.py 之类的命令从命令行运行脚本时运行的程序的一部分。






相关用法


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