下文摘自本人原创文章的部分内容链接如下
https://blog.youkuaiyun.com/ispringmw/article/details/119255858
python为什么要使用if __name__ == '__main__':。
先给结论:
1.防止当前.py文件在被其他.py文件导入时显示多余的程序主体部分
2.程序的入口
举例如下:
有aa_one.py文件,其中定义了一个print_a()方法,同时还打印了一行字符串

现在有aa_two.py想要调用aa_one.py中的方法print_a()方法,如下:

我们从如上执行结果可以看到,我们只想要调用执行aa_one.py中的方法print_a()方法,但在调用print_a()方法之前就先执行print('what ever'),原因是在我们使用import aa_one语句导入时会把aa_one.py中的代码执行一遍,如何规避这个问题呢,有的同学可能会想到把print('what ever')删除掉不就好了吗,这其实是一种解决方案,但是更多时候我们在写一些功能类或者方法的时候,我们就是需要在文件中编写一些测试的代码,但是在写完之后我们又不想删除,因为可能有时候还需要调整测试,为了满足这个需求,我们就可以使用if __name__ == '__main__':,我们再来看下使用了if __name__ == '__main__':的情况:

这个时候print('what ever')就不会在调用中被执行,功能类和方法的调试代码就可以写到if __name__ == '__main__':中,同时if __name__ == '__main__':也是**程序的入口**。
本文详细解释了Python中`if __name__ == '__main__'`的作用,包括防止在导入时执行不必要的代码和作为程序入口。通过实例展示了如何使用该结构来避免在调用模块方法时执行调试或测试代码。使用`if __name__ == '__main__':`可以确保测试代码只在直接运行模块时执行,而不是在导入时。

被折叠的 条评论
为什么被折叠?



