常见的函数属于固定的位置参数,但是在实际中参数可能不固定,就需要加入变参
def add(a, b):
return a + b
def sub(a, b):
return a - b
add(1, 3)
sub(3, 1)
可变位置参数:
python中规定参数前带 * 的,称为可变位置参数,只是我们通常称这个可变位置参数为*args而已,叫其他的一样一样滴。
*args:是一个元组,传入的参数会被放进元组里。
可变关键字参数:
同理,python中规定参数前 带 ** 的,称为可变关键字参数,通常用**kwargs表示。
**kwargs:是一个字典,传入的参数以键值对的形式存放到字典里。
*args举例:
先说args的作用,还是开篇的案例,我们要算不定长的加法,就可以用args来定义了,当然也可以叫x,y。
def add1(*args):
sum = 0
for i in args:
sum += i
return sum
print(add1(1, 3,4,5))
**kwargs举例:
然后我们再来看看**kwargs:
def zidian(**kwargs):
for k, v in kwargs.items():
print(k, v)
print(kwargs)
print(type(kwargs))
zidian(a=1, b=2, c=3)
zidian(a=1, b=2, c=3, d=4)