PHP前端开发

Python中的特殊变量__name__有什么用?

百变鹏仔 1个月前 (01-23) #Python
文章标签 变量

由于python中没有main()函数,所以当向解释器提供运行python程序的命令时,将执行0级缩进的代码。但是,在执行此操作之前,它将定义一些特殊变量;__name__就是这样的一个特殊变量。下面本篇就来带大家了解一下特殊变量__name__,希望对大家有所帮助。

__name__是一个内置变量,其计算结果为当前模块的名称。如果源文件作为主程序执行,则解释器将__name__变量设置为具有“__main__”的值;如果此文件是从另一个模块导入的,则__name__将设置为模块的名称。

因此,它可用于检查当前脚本是单独运行还是通过将其与if语句组合在其他位置导入。

下面我们通过示例来了解一下:

立即学习“Python免费学习笔记(深入)”;

有两个单独的文件File1和File2。

File1.py 

print "File1 __name__ = %s" %__name__   if __name__ == "__main__":     print "File1正在直接运行"else:     print "File1正在导入"

File2.py 

import File1   print "File2 __name__ = %s" %__name__   if __name__ == "__main__":     print "File2正在直接运行"else:     print "File2正在导入"

现在,解释器被赋予运行File1.py的命令。

python File1.py

则,输出:

File1 __name__ = __main__File1正在直接运行

然后运行File2.py.

python File2.py

输出:

File1 __name__ = File1正在导入File1File2 __name__ = __main__File2正在直接运行

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

相关视频教程推荐:《Python教程》