python编程中if __name__=='__main__如何理解
小编:动力软件园 时间:2018-06-26 21:42:44
在学习python编程中看到别人写的代码中一般最后都有if __name__=='__main__:这样一句代码,也不知道什么意思,翻阅资料经过试验才明白是个什么鬼,小白请看,大神飘过。
代码如下:
if __name__=='__main__': test()
期中看到廖雪峰老师的解释是:
当我们在命令行运行hello模块文件时,Python解释器把一个特殊变量__name__置为__main__,而如果在其他地方导入该hello模块时,if判断将失败,因此,这种if测试可以让一个模块通过命令行运行时执行一些额外的代码,最常见的就是运行测试。
我是不太明白意思,其实你实践一下就懂了,ok,代码如下。
#!/usr/bin/env python3 # -*- coding: utf-8 -*- ' a test module ' __author__ = '动力软件园 www.pw88.com' import sys print('第一个行代码是否执行') def test_(): args = sys.argv if len(args) == 1: print('Hello, world!') elif len(args) == 2: print('Hello, %s!' % args[1]) else: print('Too many arguments!') if __name__=='__main__': test_()#调用函数
执行结果是:
第一个行代码是否执行 Hello, world!
第一个print和test_函数都执行了。
我们把该代码保存为一个文件if_main_test.py,在同目录下再建一个文件test.py
import if_main_test
执行。看看结果就明白了。
第一个行代码是否执行
只执行了第一个print
总结:该代码(也就是脚本)作为脚本执行的时候是两个结果,如果被导入到其他脚本中 test_()函数不执行。如果脚本中有大量代码,不想执行该段代码段的时候就加上
if __name__=='__main__':搞定。
相关阅读
排行榜