2019-02-02 关于__main__变量的问题

在Python代码的编写中,经常会用到这么一句:

if __name__ == "__main__":

      ....

这句代码之前的语句在整个模块被其他文件调用的时候会被运行,而这句代码之后的语句则不会,经过多次的查阅资料,我得出一下的解释:

__name__变量在单独运行此模块(.py文件)时,其表示的内容为”__main__",而当这个模块被其他模块调用时,__name__变量则表示被调用的这个模块的名字(不包含.py这三个字符)。

当模块直接执行的时候,__name__变量="__main__"="__main__",所以此句后边的代码也会被执行。

而当模块被调用的时候,__name__变量="模块名"≠"__main__",所以此句后面的代码不会被执行,得益于此种设定,我们可以自由的划定一个模块内的哪些功能可以被任意调用,哪些功能不能被调用,使用起来更加的方便,因为当我们写出import xxx时,xxx这个模块的内容会被提前加载,若有if __name__ == "__main__",则可以避免全部加载,减少负担。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,132评论 0 10
  • Nginx 的配置文件使用的就是一门微型的编程语言,许多真实世界里的 Nginx 配置文件其实就是一个一个的小程序...
    SkTj阅读 9,707评论 0 7
  • 很多练习瑜伽的人也有不同的状态,有愚笨、普通以及至高的这三种。 愚笨的瑜伽学生缺乏热情、不稳定、胆怯以及自我放纵。...
    瑜伽之路阅读 4,340评论 0 3
  • 一万年很长,我们可以从狩猎采集时代发展到农耕时代,工业时代,智能时代;一万年太短,不足以改变我们的基因,一万年前的...
    景景相依阅读 3,089评论 0 1
  • 最近几年没有怎么回过家长,每次回家都看不出有什么变化,只是那条回忆最深的上学路发生了大变化,变成了能够一辆车...
    研究说明书阅读 3,446评论 0 1