if __name__=='__main()__:

python 中常常出现if __name__==’__main()__’:语句,它的主要作用是用于测试时使用。

程序接口,怎么就是程序接口呢???

学过c/c++的都知道,在我们使用main()函数的时候我们是可以向main()函数传递参数的,eg.

void main(int argc,char** argv)

我们可以向函数传递参数,argc统计的是argv[]中参数,而argv[]记录的是函数中的第0个参数是执行文件的名字,后面的参数是执行可执行文件后传递到main函数中的参数

./a.out val1 val2 va3 
argv[0]="a.out"
argv[1]=val1
argv[2]=val2
argv[3]=val3

所以我们在执行一个.py文件的时候,而该文件中只是定义了一个或者多个函数时,我们要测试这些函数就需要利用这个接口,利用这个接口我们就自己调用自己

测试时使用,怎么使用???

#Filename:test.py
def func1(para1,para2):
    do something with para1 and para2
    ...
def func2(...):
    ...
...

if __name__=='__main__':
    val1=argv[1]
    val2=argv[2]
    func(val1,val2)#调用上面的函数,并传入参数。
#直接执行test.py val1 val2
#则__name__='__main__',且'__main__'则条件成立,则执行条件语句下面的语句。若你在其他的.py中import test.py的时候__name__就与'__main__'不想等了,那就不会执行条件语句下面的语句。

那__name__值又是怎样变化的呢?

****自己调用****
#!/usr/bin/python
#Filename:test.py
from sys import argv
def func(para1,para2):
    print int(para1)+int(para2)
    print __print__

if __name__=='__main__':
    val1=argv[1]
    val2=argv[2]
    func(val1,val2)
运行结果:
~$ python test.py 3 4
7
__main__
****其他.py文件调用****
#!/use/bin/python
#Filename:other.py
from test import func
print func(4,4)
print __name__
运行结果:
~$ python other.py 
8
test
__main__

我想这样就可以很清晰的知道if __name__==’__main()__:的作用了
#也就是只有在执行文件中的__name__等于’__main__’,被调用的文件中的__name__就等于当前文件名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值