首页 > 电脑教程 > 编程开发 > python编程中if __name__=='__main__如何理解

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__':搞定。

相关阅读
排行榜
易学车老版本

易学车老版本

实用工具 下载
天行健安卓版 v2.35770

天行健安卓版 v2.35770

手游软件 下载
三星PC套件 samsung kies 官方正式版 3.2.15041.2

三星PC套件 samsung kies 官方正式版 3.2.15041.2

手机工具 下载