详细看文章http://blog.konghy.cn/2017/04/24/python-entry-program/, 写的很好
初学python不久,对__name__ = '__main__'不理解。所以看了看。__name__是当前模块名,当模块被直接运行时模块名为__main__。这句话的意思就是说当模块被直接运行时,以下代码将被运行,当模块是被导入时,代码块不被运行,意思就是可以调用代码块,但直接运行的部分将不会执行。
见 https://www.zhihu.com/question/49136398