来自 技术 2019-03-16 的文章

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

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

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

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

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

有两个单独的文件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教程》

标签:   Python      rename函数      云虚机主机更改系统      EhCachePlugi   
上一篇:躲不掉的 lambda 表达式 - 余同学的开发之路
下一篇:没有了