06.11 Python *args 和 **kwargs 描述

Python *args 和 **kwargs 描述

对于刚接触 Python 的人,*args 和 **kwargs 会另他们很迷惑,本篇文章会带大家了解这两个参数的用法。

其实对于这两个参数来说,只有 * 是最重要的,你也可以起名叫 *var 和 **vars,名字无所谓是什么,但是惯例一般是用 *args 和 **kwargs。

使用 *args


*args 和 *kwargs 用在函数定义中。*args 接收多个参数,如果你不知道函数输入的参数数量,可以直接用 *args。

请看下面的例子:

Python *args 和 **kwargs 描述

输出:

Python *args 和 **kwargs 描述

使用 **kwargs


**kwargs 允许你传入函数的参数的形式为键值,例如 name=alex,可以传递多个键值。

Python *args 和 **kwargs 描述

输出:

Python *args 和 **kwargs 描述

使用 *arg 和 **kwargs


*args 和 *kwargs 可以一块使用:

Python *args 和 **kwargs 描述

输出:

Python *args 和 **kwargs 描述

可以看到,args 的类型是元组,kwargs 的类型是字典。

函数调用使用 *arg 和 **kwargs


可以使用 *args 和 **kwargs 解析一个列表或者字典到函数指定的参数中。

Python *args 和 **kwargs 描述

输出:

Python *args 和 **kwargs 描述

*args 是按次序把一个列表解析到函数的参数中。注意列表的参数数量不能大于或者小于函数参数的数量,否则编译器会报类型错误的异常。

**kwargs 是通过对比参数的名称和字典的键名称,如果相等,赋值给函数的参数。注意字典的键值和参数必须匹配,否则会报类型错误的异常。


分享到:


相關文章: