形参的顺序:
位置 *arg 默认值 **args
ps:可以随便搭配,但是*和**以及默认值的位置顺序不能变
*,**
形参:聚合
位置参数* >>元祖
关键字** >>字典
实参:打散
列表,字符串,元素 >> *
字典>> **
(1)* 在形参位置 *表示不定参数-接收的是位置参数
接收到的位置参数的动态传参;都是元祖
在形参这里传递过来的实参进行了聚合,聚合成了元祖
(2)** 在形参表示动态传参-关键字参数
关键字动态传参接收到的是字典
例1:(无敌传参)
def func(*arg,**args):
print(arg)
print(args)
func(1,2,3,a=1,b=2c=3)
##这里是形参
* 表聚合
例2:
def func(*food):
print(food)
lst=['A','B','C']
## 这里是实参
## * 表打散
func(*lst) # 打散,把列表,元祖,字符串打散成位置参数进行传递