python中__name__ == ‘main’ 的作用
众所周知,Python是动态的解释型语言,是一种脚本语言,不像java、c、c++是编译型语言,执行的时候是先编译成二进制代码,然后运行,而Python是从文件的第一行开始,边解释边执行。
所以对于Python来说没有程序执行的入口,如果接触过面向对象语言,JAVA,c++,那么应该知道,都会有一个main,作为程序执行的入口、
那么Python没有程序执行入口的概念,为什么还要有__name__ == 'main’呢,这个是为了当py文件被别的模块导入使用的时候,可以屏蔽一些不想被执行的代码。
比如:a.py文件
print('name value: ',name)
def main():
print(“你好”)
if name == ‘main’:
main()
执行结果:
hello world
name value: main
你好
上述a.py文件被b.py文件导入的时候,比如:
b.py文件
import a
print (“这是个b.py文件”)
执行结果:
hello world
name value: a
这是个b.py文件
原因是因为,a.py被直接执行的时候,name = ‘main’
而被别的模块调用的时候,则在别人眼里,name= ‘a’