在Python中的__name __(特殊变量)用法介绍

由于Python中没有main()函数, 因此当将运行python程序的命令提供给解释器时, 将执行0级缩进的代码。但是, 在此之前, 它将定义一些特殊变量。 __name__是这样的特殊变量之一。如果将源文件作为主程序执行, 则解释器将__name__变量设置为具有值" __main__"。如果此文件是从另一个模块导入的, 则__name__将设置为该模块的名称。
__name__是一个内置变量, 其结果为当前模块的名称。
【在Python中的__name __(特殊变量)用法介绍】因此, 可以通过将它与if语句结合使用, 以检查当前脚本是单独运行还是正在其他位置导入, 如下所示。
考虑两个单独的文件File1和File2。

# File1.pyprint "File1 __name__ = %s" % __name__if __name__ = = "__main__" : print "File1 is being run directly" else : print "File1 is being imported"

# File2.pyimport File1print "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.pyOutput :File1 __name__ = __main__File1 is being run directlyAnd then File2.py is run.python File2.pyOutput :File1 __name__ = File1File1 is being importedFile2 __name__ = __main__File2 is being run directly

如上所示, 当直接运行File1.py时, 解释器将__name__变量设置为__main__, 并且当通过导入通过File2.py运行它时, __name__变量被设置为python脚本的名称, 即File1。因此, 可以说如果__name__ ==" __main__"是使用python File1.py之类的命令从命令行运行脚本时运行的程序的一部分。
如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。
注意怪胎!巩固你的基础Python编程基础课程和学习基础知识。
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。

    推荐阅读