关于 if __name__ == '__main__' 的理解

简介:

Python为脚本语言,不像其他编译语言一样,在运行之前,先将程序编译成二进制,在运行。该语言运行方式为逐行解释运行,因此,在整个程序中没有统一的程序入口。

Python源文件除了可以被直接运行外,还可以作为模块被其他python文件导入。不管是直接运行还是被导入,.py文件的最顶层代码都会被运行,而当一个.py文件作为模块被导入时,有一部分代码可能不被希望运行。因此,该语句便起了至关重要的作用。

使用方法说明:

if __name__ == '__main__'的意思是:

       当.py文件被直接运行时if __name__ == '__main__'之下的代码块将被运行

       当.py文件以模块形式被导入时if __name__ == '__main__'之下的代码块不被运行

运行原理:

a.py   代码如下:

        print (__name__)

   运行结果为:  main

b.py  代码如下

        import a

        print(__name__)

    运行结果为: a 和 main     其中 a为 a.py 的 name ,而 main 则为 b.py 的 name。

 

  因此该语句主要就是判断是否是程序主入口,如果是程序主入口,则代码块执行,否则代码块不执行

 

posted @ 2018-09-14 17:09  小鹏_Leo  阅读(139)  评论(0编辑  收藏  举报