由于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 等命令从命令行运行脚本时运行的程序的一部分。
相关用法
- Python __name__用法及代码示例
- Python __new__用法及代码示例
- Python __import__()用法及代码示例
- Python __getslice__用法及代码示例
- Python __rmul__用法及代码示例
- Python __getitem__()用法及代码示例
- Python __call__用法及代码示例
- Python __exit__用法及代码示例
- Python __init__用法及代码示例
- Python __file__用法及代码示例
- Python __len__()用法及代码示例
- Python __repr__()用法及代码示例
- Python __add__()用法及代码示例
- Python String format()用法及代码示例
- Python abs()用法及代码示例
- Python any()用法及代码示例
- Python all()用法及代码示例
- Python ascii()用法及代码示例
- Python bin()用法及代码示例
- Python bool()用法及代码示例
- Python bytearray()用法及代码示例
- Python callable()用法及代码示例
- Python bytes()用法及代码示例
- Python chr()用法及代码示例
- Python compile()用法及代码示例
注:本文由纯净天空筛选整理自佚名大神的英文原创作品 __name__ (A Special variable) in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。