Python-函数的参数
函数的参数分为形式参数和实际参数
形式参数:
- 在定义函数时,函数名后面括号中的变量名称叫做形式参数,或者成为形参。
实际参数:
- 在调用函数时,函数名后面括号中的变量名称叫做实际参数,或者成为实参。
命名规则
- 两个单词的话,第二个单词大写,看起来比较清楚。
扩展模块
sys模块.argv方法来获取命令行传入的参数
- sys.argv[0]等同于shell中的$0,表示脚本的名称
- sys.argv 等同于shell中的$#,把所有参数以空格分隔,组成列表进行传递
练习1:判断脚本的第一个参数是否为数字,不是则退出
#!/usr/bin/env python import sys def isNum(num): for i in num: if i not in '1234567890': print '%s is not a number' % num sys.exit() --->这里写break也是可以的 else: print "%s is a number" % num isNum(sys.argv[1])
练习2:打印系统的所有PID,从/proc中读取
#!/usr/bin/env python import os list1 = os.listdir('/proc') def isPid(l1): for i in l1: try: if type(int(i)) == int: print i except: continue isPid(list1)
改进:
#!/usr/bin/env python import os def isPid(l1): for i in l1: if i.isdigit(): print i else: continue list1 = os.listdir('/proc') isPid(list1)
函数的默认参数
def fun(a,b=100)
这样的话,调用函数时,如果不传递b的值,那么b默认就是100。
传参的方式也有很多种:
- fun(1,2)这样会自动匹配a=1,b=2
- fun(1) 这样会自动匹配a=1
如果想指定传递的参数,那么就需要手动的取指定了,并且变量名要形参保持一致
- fun(,2) 这样给b赋值是不行的
- fun(b=2) 这样是可以的,变量名必须是定义的形参!
默认的参数只能在形参的最后一个(或者都定义,或者从右到左定义)
所有巧合的是要么是上天注定要么是一个人偷偷的在努力。

浙公网安备 33010602011771号