5、参数
Python中的参数分如下几类:
- 必备参数
- 命名参数
- 缺省参数
- 不定长参数
5.1必备参数
必备参数在传入时,函数调时给的参数数量、顺序都必须和声明时一样,否则就会报错。如:
声明一个这样的函数:
def info(name, age, tel) :
调用info函数时,必须传入三个参数,并且参数的顺序也必须是name, age, tel,如:
info('jack', 20,'13567867878')
以上函数调用后,参数按顺序匹配:
name=’jack’,age=20,tel=’13567867878’
5.2命名参数
命名参数就是在调用函数时,通过参数的命名来确定传入的参数值。这样你不仅可以跳过不传的参数,还可以乱序传参,因为Python解释器能够用参数名来匹配参数值。
实例:
#!/usr/bin/python
def sum(x, y) :
#求两个数之和
return x + y
#调用sum函数
sum(y = 10, x = 5)
执行结果:
15
函数会按参数名字去匹配形参,并把传入的值赋给它。
需要注意的是,传参时命名参数必须在非命名参数的后面,否则就会报SyntaxError: non-keyword arg after keyword arg的错误。如下例:
def sum(x, y, z) :
#求三个数之和
return x + y + z
调用sum函数
>>> sum(x=1,2,4)
File "<stdin>", line 1
SyntaxError: non-keyword arg after keyword arg
上面调用就报错了。那如果下面这样调用又对不对呢?
>>> sum(2,4,x=1)
Traceback (most recent call