码迷,mamicode.com
首页 > 编程语言 > 详细

python中的if __name__ == '__main__' what hell is it?

时间:2017-01-01 10:09:52      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:调用   编程   分代   模块   article   运行   对象   部分   可读性   

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?

标签:调用   编程   分代   模块   article   运行   对象   部分   可读性   

原文地址:http://www.cnblogs.com/qianheng/p/6240728.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!