1.默认值参数
即为函数形参设置默认值,在调用该函数时,不为默认值参数进行传值,自动调用默认值,若为已设置默认值的形参传值,则使用替换后的实参。
可以使用‘函数名.func_defaults'(python3中使用'函数名.__defaults__')来查看函数所有默认值参数的当前值。其返回值为一个依次排序默认值的元组。
在定义带有默认值参数的函数时,默认值参数必须出现在函数形参列表的最右端。
2.关键参数
调用时使用的参数,不受顺序影响。
3.可变长参数
*x用来接收任意多个实参,并将其放在一个元组中,**x用来接收多个实参放在一个字典中。
>>> def f(*x):
print x
>>> f(1,2,3)
(1, 2, 3)
>>> def h(**x):
for i in x.items():
print i
>>> h(x = 1,y = 2,z = 3)
('y', 2)
('x', 1)
('z', 3)
>>> def h(**x):
print x
>>> h(x = 1,y = 2)
{'y': 2, 'x': 1}
>>> def h(**x):
print x.keys()
>>> h(x = 1,y = 2,z = 3)
['y', 'x', 'z']
>>> def h(**x):
print x.values()
>>> h(x = 1,y = 2,z = 3)
[2, 1, 3]
4.参数传递事的序列解包
为含有多个变量的函数传递参数时,可以使用列表、元组、字典、集合以及其他可迭代对象作为实参,并在实参名称前加一个*,python解释器会自动进行解包然后传递给多个变量。若使用字典作为实参,则默认是键,键值对则使用items方法,值values方法。
>>> def f(a,b,c):
print a+b+c
>>> s = [1,2,3]
>>> f(*s)
6
>>> t =(1,2,3)
>>> f(*t)
6
>>> d = {1:'a',2:'b'}
>>> d = {1:'a',2:'b',3:'c'}
>>> f(*d)
6
>>> s = {1,2,3}
>>> f(*s)
6
5.return
没有任何返回值return语句返回None。