前言:
1.以前使用 java 和 C 语言,都有主函数以及主函数的传参,但是 python 不一样,主函数没有传入参数,它是通过系统声明的方式传入启动参数的;
2.另外,刚开始使用python的时候,总觉得有主函数的文件和没有主函数的文件差不多,都可以执行,但实际区别比较大,也说一下,主要是为刚开始用 python 的同学解惑。
1.先简单说一下上述第二个问题
1.没有主函数的 py 文件在执行的时候是从上到下依次执行,上面的代码如果想引用下面的函数是不允许的,而且不能灵活传入参数
2.有主函数的 py 文件,你可以这样理解:主函数执行前,会把所有关联的文件涉及到的函数和声明都加载到内存准备好,主函数执行的时候会去内存找他们,让他们乖乖干活。
2.主函数传参
直接贴代码:
import sys
def add(m, n):
return int(m) + int(n)
if __name__ == "__main__":
a = sys.argv[1]
b = sys.argv[2]
print add(a, b)
print sys.argv[0]
传参:2 3
注:PyCharm 传参设置方法博客里也有
结果:
5
D:/work/ProHouse/project/python/PyTest/function/main_test.py
3.Tips
1.主函数传参的 sys.argv[] 是从1开始的,不是0,不是0,不是0;0是打印文件所在的地址,默认传入的参数,如上函数最后一行的打印
2.主函数声明只有
if __name__ == "__main__":
这种方式,那不是一个下划线,是两个下划线
3.需要引入 sys 模块,任何要和系统打交道的地方都需要这个模块