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

Python中关于__main__变量的问题

时间:2019-02-13 22:43:37      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:运行   内容   就是   执行   模块   python   span   import   问题   

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

if __name__ == "__main__":

      ....

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

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

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

而当模块被调用的时候,__name__变量="模块名"≠"__main__",所以此句后面的代码不会被执行,得益于此种设定,我们可以自由的划定一个模块内的哪些功能可以被任意调用,哪些功能不能被调用,使用起来更加的方便,因为当我们写出import xxx时,xxx这个模块的内容会被提前加载,若有if __name__ == "__main__",则可以避免全部加载,减少负担(这里的原理是,运行过的py文件会产生一个同名后缀名为pyc的文件,我们知道,Python是一门解释性语言,我们编写好的代码经过解释器解释为计算机可以读懂的二进制语言,这个pyc文件就是不用解释,计算机能够直接运行的文件。

Python中关于__main__变量的问题

标签:运行   内容   就是   执行   模块   python   span   import   问题   

原文地址:https://www.cnblogs.com/LegendsNeverDie/p/10372137.html

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