python函数的动态传参

def trans_para(*args,**kwargs):
    print(args,type(args))
    print(kwargs,type(kwargs))
trans_para("jinxin",12,[1,2,3,4],[3,4,],(1,4,7),{"a":"123","c":456},country="china")
动态参数,也叫不定长传参,就是你需要传给函数的参数很多,不定个数,那这种情况下,你就用*args,
**kwargs接收,args是元祖形式,接收除去键值对以外的所有参数,kwargs接收的只是键值对的参数,并保存在字典中。

当向函数输入实参的时候,输入的内容会依次去匹配形参的位置,当处于合适的位置,这个参数就会被收.
因此当输入的实参位置有问题时,就会有错误,就会像数学中的函数,解都是一一对应的.
*args可接收所有没有位置的的位置参数,并打包到一个元组中.
**kwargs可接收所有位置参数后面的关键字参数.
动态传参的顺序 位置参数 > *args > 默认值参数 > **kwargs
在实参位置上给⼀个序列,列表,可迭代对象前⾯加个*表⽰把这个序列按顺序打散.
在形参的位置上的* 表⽰把接收到的参数组合成⼀个元组
如果是⼀个字典, 那么也可以打散. 不过需要⽤两个*