Python中__name__详解

完全面向对象的编程语言 Java,C# 等,都需要有一个 main 函数来作为程序的入口,也就是程序的运行会从 main 函数开始。

Python 则有不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。

  • __name__

    __name__是内置变量,用于表示当前模块的名字,同时还可以反应一个包的结构。

    如果一个模块被直接运行,则其没有包结构,其 __name__ 值为 __main__

    延伸阅读:if __name__ == '__main__'

    模块被执行的时候,__name__等于文件名(包含了后缀.py)。如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。而“__main__”等于当前执行文件的名称(包含了后缀.py)。所以当模块被直接执行时,__name__ == '__main__'结果为真;而当模块被import到其他模块中时,__name__ == '__main__'结果为假,就是不调用对应的方法。


  • Reference

  1. Python 中的 if __name__ == '__main__' 该如何理解
  2. 浅入深谈:秒懂python编程中的if name == ‘main’ 的作用和原理

你可能感兴趣的:(#,小白学Python,__name__,__main__)