前言
函数的5种参数类型:
- 位置参数
- 关键字参数
- 默认参数
- 可变位置参数
- 可变关键字参数
位置参数解构
定义一个累加器:
def add(x, y):
ret = x + y
print('{} + {} = {}'.format(x, y, ret))
return ret
当需要调用这个函数时会考虑到用位置参数还是关键字参数,还是混合使用:
>>> add(1, y=2)
1 + 2 = 3
3
>>> add(x=1, y=2)
1 + 2 = 3
3
如果此时有参数[1, 2],要将列表里的内容传给累加器add()函数:
#一般情况下使用参数下标传递
>>> t = [1, 2]
>>> add(t[0], t[1])
1 + 2 = 3
3
#使用可变位置参数
>>> add(*t)
1 + 2 = 3
3
传入一个元组,并且再元组前面加一个星号,这样就可以把一个可迭代对象解构成位置参数了。
>>> add(*range(2))
0 + 1 = 1
1
参数解构是发生再函数调用的时候,而可变参数发生再函数定义的时候
也就是说add