对于刚接触 Python 的人,*args 和 **kwargs 会另他们很迷惑,本篇文章会带大家了解这两个参数的用法。
其实对于这两个参数来说,只有 * 是最重要的,你也可以起名叫 *var 和 **vars,名字无所谓是什么,但是惯例一般是用 *args 和 **kwargs。
使用 *args
*args 和 *kwargs 用在函数定义中。*args 接收多个参数,如果你不知道函数输入的参数数量,可以直接用 *args。
请看下面的例子:
输出:
使用 **kwargs
**kwargs 允许你传入函数的参数的形式为键值,例如 name=alex,可以传递多个键值。
输出:
使用 *arg 和 **kwargs
*args 和 *kwargs 可以一块使用:
输出:
可以看到,args 的类型是元组,kwargs 的类型是字典。
函数调用使用 *arg 和 **kwargs
可以使用 *args 和 **kwargs 解析一个列表或者字典到函数指定的参数中。
输出:
*args 是按次序把一个列表解析到函数的参数中。注意列表的参数数量不能大于或者小于函数参数的数量,否则编译器会报类型错误的异常。
**kwargs 是通过对比参数的名称和字典的键名称,如果相等,赋值给函数的参数。注意字典的键值和参数必须匹配,否则会报类型错误的异常。
閱讀更多 趣喜歡編程 的文章