python 中__name__ = '__main__' 的作用
在学习面向对象编程的时候发现没到最后的时候就有一句python 中
if name == 'main':
main()
的语句,查了一些资料,把这句话搞清楚了。
模块都有一个变量name,可以在模块中print name的值看来本模块独立执行的值为main,
被其它模块导入执行的值为该模块(foo.py)的名字foo.
if语句有2个作用:
1、可以在这个if下测试函数或类。
2、防止模块被导入时,函数或类的代码被执行2次。
![1481803969003.jpg enter description here](https://images2015.cnblogs.com/blog/1083546/201612/1083546-20161220125714839-2110293669.png)
1481803969003.jpg
![1481803980739.jpg enter description here](https://images2015.cnblogs.com/blog/1083546/201612/1083546-20161220125715432-1895965767.png)
1481803980739.jpg
![1481803988751.jpg enter description here](https://images2015.cnblogs.com/blog/1083546/201612/1083546-20161220125716886-375093895.png)
1481803988751.jpg
![1481803994629.jpg enter description here](https://images2015.cnblogs.com/blog/1083546/201612/1083546-20161220125717636-358566194.png)
1481803994629.jpg
转载自知乎专栏原文链接
https://zhuanlan.zhihu.com/p/21297237
这一个if 语句做到了让模块既能运行,也能导入到其他模块中去。
“Make a script both importable and executable.”