python 中__name__ = '__main__' 的作用

python 中__name__ = '__main__' 的作用

在学习面向对象编程的时候发现没到最后的时候就有一句python 中
if name == 'main':
main()
的语句,查了一些资料,把这句话搞清楚了。

模块都有一个变量name,可以在模块中print name的值看来本模块独立执行的值为main,

被其它模块导入执行的值为该模块(foo.py)的名字foo.

if语句有2个作用:

1、可以在这个if下测试函数或类。

2、防止模块被导入时,函数或类的代码被执行2次。

enter description here

1481803969003.jpg

enter description here

1481803980739.jpg

enter description here

1481803988751.jpg

enter description here

1481803994629.jpg

转载自知乎专栏原文链接
https://zhuanlan.zhihu.com/p/21297237

这一个if 语句做到了让模块既能运行,也能导入到其他模块中去。
“Make a script both importable and executable.”

posted @ 2016-12-20 12:57  如海  阅读(295)  评论(0编辑  收藏  举报