形参的顺序:

  位置  *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) # 打散,把列表,元祖,字符串打散成位置参数进行传递