许多初学者或Python爱好者可能都遇到过用星号元组*args和双星号字典**kwargs作为实参来使用的困惑,这里本人举了几个小例子来阐述一下总结心得。
1. 星号元组*args传参,如
:
def fn(a,b,c,d):
print(a,b,c,d)
return
tup = (5,6,7,8)
fn(*tup)
输出结果:5 6 7 8
上述将变量tup,加上*作为实参传入函数中后,即依次对应着形参列表进行赋值,实质上是位置传参,如果形参数量与元组内元素数量不符,则会报数量不匹配的错误。
如果是下面方式定义函数的形参列表,则不会有上述的错误产生~想怎么传参就怎么传参!
def fn(*args):
print(args)
return
tup = (1,2,3,4,5,6,7)
fn(*tup,1,2,3,4,)
输出结果: (1, 2, 3, 4, 5, 6, 7,1,2,3,4)
# 1. 双星号字典kwargs传参,如**
def fn(a,b,c,d):
print(a,b,c,d)
return
dic = {
'a':5,
'b':6,
'c':7,
'd':8,
}
fn(**dic)
输出结果:5 6 7 8
上述将变量dic,加上**作为实参传入函数中后&#x