【Python】if __name__ == "__main__"做了什么?

在Python的很多源文件中,会有这样的语句:

if __name__ == ‘__main__‘:
    # script code here

比如有两个源文件A.py和B.py,都有上面的代码:在B.py中导入了A.py: import A

执行B.py,B.py中的 if __name__ == "__main__":

解释为

if B==B:

在执行到B.py中导入的A.py文件中的 if __name__ == "__main__":时,

解释为

if A==B

因此可以看出:

__name__:表示当前执行的文件名称

__main__:表示程序入口文件的名称。本例中是执行的B.py,因此__main__表示B文件名(不包括.py)

时间: 2024-10-31 19:31:45

【Python】if __name__ == "__main__"做了什么?的相关文章

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

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

对于python的__name__="__main__"的含义的理解

学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用? "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 先写一个模块 #module.py def main(): print "we are i

谈谈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 if __name__ == '__main__'解析

废话不多说,正题: python中所有的模块都有一个内置属性 __name__,一个模块的 __name__ 的值取决于如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名.但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__". 换句通俗的话讲,当你在当前文件运行一个文件时,__name__==__main__,则其后的代码会正常执行,但是当你在另一个文件i

python中 __name__=='__main__' 的作用

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

Python if __name__ == '__main__': 理解

if __name__ == '__main__':是为了区分.py文件是自己直接被执行还是被其他文件调用. 当.py文件直接被执行时,默认的是 __name__ = '__main__',因此条件成立,将执行if语句中的操作: 当.py文件被其他文件调用时,默认的是 __name__ = 'xxx', (当前文件为xxx.py),因此if语句判断条件不成立,if中的操作不会执行: 但是,这两种情况下,if语句之外的其他语句都将正常按顺序执行,且在if语句执行之前. Python if __na

python的__name__ = \'__main__\' 意义

转自http://www.jb51.net/article/51892.htm 很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入

python if __name__ == ' __main__'

如果是直接运行模块的话__name__=='__main__', 通过import 导入模块的话__name__等于模块的名字 test.py def test(args): count=args*2 if __name__=='__main__': print __name__ print "test is :",test(10) python test.py 输出: __main__ test is 20 test1.py import test print test.__name