因为python是解释型语言,是从上至下逐行解释运行,每执行一次都要翻译一次,在import的时候可以阻挡被引入文件的一些代码执行。
创建一个A.py文件
执行A.py
创建B.py
执行B.py
可以看到,把A导入到B之后A在if __name__ == '__main__'里面的代码时不执行的。
python和java、c、c++不一样不需要main函数作为入口,没有缩进的代码都会被执行,我个人觉得把if __name__ == '__main__'理解成程序的入口是不正确的,我是把他理解成程序入口的表示,是告诉其他程序员这里是程序的入口而不是告诉计算机。