实际上的传递语法是function(*,**)
*args和**kwargs只是我们约定俗成的变量名称.
args被称为位置参数(positional argument)
kwargs被称为关键词参数(keyword argument)
为了弄清楚这两个参数的具体含义,本文首先对其类型进行研究
参数传递的类型
args是tuple类型
kwargs是dict类型
传入参数
修改fun函数,以便查看传入的数据
1.直接传入tuple和dict类型的数据
什么直接输出(1,2,3)和{1: 'Jack', 2: 'Mary'},而且没有对kwargs进行赋值
这是因为我们直接传递变量x,y, fun中*args直接将其进行了解析成为一个tuple.
因此需要我们对其进行包后,然后再传入
2.参数解包后传入
要使用*x,**y来对变量进行解包
注意
使用*进行解包时仅限在函数调用过程中,在其他情况使用会发生错误,
而且kwargs参数中的keywords必须是string类型,否则报错
3.常用调用方式
閱讀更多 FunnyPrograming 的文章