写 Python 程序的时候,经常会写到 if __name__ == '__main__': ,
一直没有很好地理解。Flask 文档提到了一下,顺便做了小实验,总算搞清楚了。
__name__
变量的值是变化的。假设有个 name.py 文件,如果直接运行它,__name__
的值为 '__main__'
;如果从其他地方作为模块导入(import name
),__name__
的值为模块名,即 'name'
。
实验
1、新建 name.py,输入内容
print __name__
2、直接运行的效果
3、在 ipython 中导入的效果