一文读懂Python中的*args和**kwargs

一文读懂Python中的*args和**kwargs

实际上的传递语法是function(*,**)

*args和**kwargs只是我们约定俗成的变量名称.

args被称为位置参数(positional argument)

kwargs被称为关键词参数(keyword argument)

为了弄清楚这两个参数的具体含义,本文首先对其类型进行研究

参数传递的类型

args是tuple类型

kwargs是dict类型

传入参数

修改fun函数,以便查看传入的数据

一文读懂Python中的*args和**kwargs

1.直接传入tuple和dict类型的数据

一文读懂Python中的*args和**kwargs

什么直接输出(1,2,3)和{1: 'Jack', 2: 'Mary'},而且没有对kwargs进行赋值

这是因为我们直接传递变量x,y, fun中*args直接将其进行了解析成为一个tuple.

因此需要我们对其进行包后,然后再传入

2.参数解包后传入

要使用*x,**y来对变量进行解包

注意
使用*进行解包时仅限在函数调用过程中,在其他情况使用会发生错误,
而且kwargs参数中的keywords必须是string类型,否则报错

一文读懂Python中的*args和**kwargs

执行成功,得到我们想要的答案

3.常用调用方式

一文读懂Python中的*args和**kwargs


分享到:


相關文章: