∗args的作用:
*的作用有2个 打包参数(pack)和拆分参数(unpack)
函数接受实参时,按顺序分配给函数形参,如果遇到带∗的形参,那么就把还未分配出去的实参以元组形式打包(pack),分配给那个带∗的形参。
∗∗kwargs的作用
∗∗的作用同样也有两个—— 打包参数(pack)和拆分参数(unpack)!
但是区别还是有的,简单来说就是:
打包(pack):*args是把多个位置参数打包成元组,**kwargs是把多个关键字参数打包成字典。
拆分(unpack):*args是把打包了的参数拆成单个的,依次赋值给函数的形参,**kwargs是把字典的键值拆成单个的,依次赋值给函数的形参。
注意的是拆分需要字典的键名和函数形参一至不然会报错
*args和**kwargs当中args和kwargs可为任意字符,但是这样写是一个规范
原文:https://blog.csdn.net/lllxxq141592654/article/details/81288741