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__'

if __name__ == "__main__": 和 Python 中的递归 [重复]

如何简单地理解Python中的if __name__ == '__main__'