Python中关于__main__变量的问题

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

if __name__ == "__main__":

      ....

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

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

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

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

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

时间: 2024-10-10 08:49:33

Python中关于__main__变量的问题的相关文章

访问python中的私有变量

访问python中的私有变量 要给实习生培训python, 话说我自己都不怎么会用, 不能误人子弟, 再看看一些python中的概念吧. 看到类以及私有变量时, 想到以前看过文章, 说Python里面有私有函数也能被调用, 就顺手搜索了一下, stackoverflow有个问题就是问这个的. Why are Python's 'private' methods not actually private? HOW 类里面用两个下划线__打头的, 就是私有变量/函数 (后面会说到其实不是这样的) 照

浅析python 中__name__ = '__main__' 的作用

很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. __name__ 是当前模块名,当模块

谈谈python 中__name__ = '__main__' 的作用

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

python 中__name__ = '__main__' 的作用

有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 这句话,可能一开始听的还不是很懂.下面举例说明: 先写一个模块: ? 1 2 3 4 5 #module.py def main():   print "we are in %s"%__name__ if __name__ == '__main__':   ma

python中__name__ = '__main__' 的作用

有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 先写一个模块: #module.py def main(): print "we are in %s"%__name__ if __name__ == '__main__': main() 这个函数定义了一个main函数,我们执行一下该py文件发现结果是打印出&

python中 __name__=='__main__' 的作用

很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 这句话,可能一开始听的还不是很懂.下面

【转】浅析python 中__name__ = '__main__' 的作用

原文链接:http://www.jb51.net/article/51892.htm 举例说明解释的非常清楚,应该是看到的类似博文里面最简单的一篇: 这篇文章主要介绍了python 中__name__ = '__main__' 的作用,对于初学者来说很有帮助,需要的朋友可以参考下 很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__

python中 __name__ == '__main__'的理解

python中常常会用到: if __name__ == '__main__': 这段代码的意思为: 当我们直接运行该段代码所在的py文件时(python xxx.py),  __name__ == '__main__' 为真,if条件成立,那么就会执行if下面的语句. 当我们在另一个py文件中使用import导入包含该段代码的py文件时,__name__的值是包含该段代码的py文件的名字,而不是__main__. python中 __name__ == '__main__'的理解

Python中什么是变量

在Python中,变量的概念基本上和初中代数的方程变量是一致的. 例如,对于方程式 y=x*x ,x就是变量.当x=2时,计算结果是4,当x=5时,计算结果是25. 只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型. 在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文.数字和下划线(_)的组合,且不能用数字开头,比如: a = 1 变量a是一个整数. t_007 = 'T007' 变量t_007是一个字符串. 在Python中,等号=是赋值语句,可以把任意数据类型赋