python中的if __name__ == '__main__' what hell is it?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的if __name__ == '__main__' what hell is it?相关的知识,希望对你有一定的参考价值。
python中的if __name__ == ‘__main__‘ what hell is it?
python认为一切模块都可能被执行或者被import
如果一个模块是被import导入的,那么该模块的调用者可能仅仅希望使用模块的部分代码,而不是直接运行它
如果模块是直接运行的,那么像c或者java语言一样,需要一个入口main
为了解决这个问题,python约定,当模块被执行的时候,__name__的值就是__main__,否则,值为模块的名字
而if __name__ == ‘__main__‘在python模块中就类似于c或者java语言的main函数
PS:python致力于程序的可读性,__name__的约定并不易读,或许有一天python会把__name__仅仅作为模块名字,而按照约定俗成的那样,设置模块的main入口
UNIX编程艺术中有两条规则:1)符合大多数人习惯的设计是OK的;2)一个对象的含义是确定的,不要变来变去;
因此,python的这个设计 is not OK
以上是关于python中的if __name__ == '__main__' what hell is it?的主要内容,如果未能解决你的问题,请参考以下文章
如何简单理解Python中的if __name__ == '__main__':
如何简单地理解Python中的if __name__ == '__main__'
如何简单地理解Python中的if __name__ == '__main__'
如何快速简单粗暴地理解Python中的if __name__ == '__main__'