python中if __name__ == '__main__': 的解析
总结:在if __name__ == "__main__":
之后的语句作为模块被调用的时候,语句之后的代码不执行;
直接使用的时候,语句之后的代码执行。通常,此语句用于模块测试中使用。
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用.
??????? 模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__"。
///
在cmd 中直接运行.py文件,则__name__的值是'__main__';
而在import 一个.py文件后,__name__的值就不是'__main__'了;
从而用if __name__ == '__main__'来判断是否是在直接运行该.py文件
如:
#
class Test:
??? def __init(self):pass
??? def f(self):print 'Hello, World!'
if __name__ == '__main__':
??? Test().f()
#End
?
你在cmd中输入:
C:>python
Hello, World!
说明:"__name__ == '__main__'"是成立的
?
你再在cmd中输入:
C:>python
>>>import Test
>>>Test.__name__??????????????? #Test模块的__name__
'Test'
>>>__name__?????????????????????? #当前程序的__name__
'__main__'
无论怎样,中的"__name__ == '__main__'"都不会成立的!
所以,下一行代码永远不会运行到!
//
python中if __name__ == "__main__":用法解析
2011-08-26 14:28:57
标签:测试 python if _name_ _main_
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。./3359430/649318
想必很多初次接触python的同学都会见到这样一个语句,if __name__ == "__main__":
那么这个语句到底是做什么用的呢?在解释之前,首先要声明的是,不管你是多么小白,你一定要知道的是:
文件的后缀为.py;
2..py文件既可以用来直接执行,就像一个小程序一样,也可以用来作为模块被导入(比如360安全卫士,就是依靠一个个功能模块来实现的,好比360安全卫士本身框架是一个桌面,而上面的图标就是快捷方式,这些快捷方式所指向的就是这一个个功能模块)
3.在python中导入模块一般使用的是import
好了,在确定知道以上几点之后,就可以开始解释if __name__ == "__main__":这个语句了。
首先解释一下if,顾名思义,if就是如果的意思,在句子开始处加上if,就说明,这个句子