if __name__=='__main()__:
来源:互联网 发布:乐高moc软件 编辑:程序博客网 时间:2024/06/13 11:36
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]=val1argv[2]=val2argv[3]=val3
所以我们在执行一个.py文件的时候,而该文件中只是定义了一个或者多个函数时,我们要测试这些函数就需要利用这个接口,利用这个接口我们就自己调用自己
测试时使用,怎么使用???
#Filename:test.pydef 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.pyfrom sys import argvdef 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 47__main__****其他.py文件调用****#!/use/bin/python#Filename:other.pyfrom test import funcprint func(4,4)print __name__运行结果:~$ python other.py 8test__main__
我想这样就可以很清晰的知道if __name__==’__main()__:的作用了
#也就是只有在执行文件中的__name__等于’__main__’,被调用的文件中的__name__就等于当前文件名
0 0
- if __name__=='__main()__:
- python中 __name__及__main()__
- python中 __name__及__main()__的妙处
- python中 __name__及__main()__的使用
- python中 __name__及__main()__的妙处
- python中 __name__及__main()__的使用
- python中 __name__及__main()__的妙处
- python中 __name__及__main()__的妙处
- python中 __name__及__main()__的妙处
- python中 __name__及__main()__的妙处
- python中 __name__及__main()__的妙处
- python中 __name__及__main()__的使用
- python中 __name__及__main()__的妙处
- 【整理】python 中 self, init, __ ,if __name__ == '__main__'
- if __name__ == '__main__'
- if __name__ == "__main__"
- if __name__ == “__main__”
- if __name__ == "__main__":
- 1.win7与Ubuntu文件共享工具-Samba安装及使用方法
- 《Hibernate学习笔记二》:表与实体类的映射方法
- Java编程基础知识复习:变量与数据类型<数据类型初阶>
- 第九周上机实践项目——项目2-我的数组类
- Dropout
- if __name__=='__main()__:
- D. A Simple But Difficult Problem
- uva 10020 Minimal coverage
- Lightoj 1031(区间dp)
- 【设计模式六大原则】:单一职责原则-带你走梦幻西游(一)
- 泛型类
- sdut 2605 Mountain Subsequences(树状数组)
- 晏殊 && 晏几道
- Oracle 使用配置文件来配置JDBC连接数据库