完全面向对象的编程语言 Java,C# 等,都需要有一个 main
函数来作为程序的入口,也就是程序的运行会从 main
函数开始。
Python 则有不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。
-
__name__
__name__
是内置变量,用于表示当前模块的名字,同时还可以反应一个包的结构。如果一个模块被直接运行,则其没有包结构,其
__name__
值为__main__
。延伸阅读:
if __name__ == '__main__'
模块被执行的时候,
__name__
等于文件名(包含了后缀.py)。如果import
到其他模块中,则__name__
等于模块名称(不包含后缀.py)。而“__main__
”等于当前执行文件的名称(包含了后缀.py)。所以当模块被直接执行时,__name__ == '__main__'
结果为真;而当模块被import
到其他模块中时,__name__ == '__main__'
结果为假,就是不调用对应的方法。