Python 函数参数列表中,*与**的意义
前言
本篇记录一下python函数的参数列表中,*
,**
的意义
起因
python最强大的特性之一,就是琳琅满目的第三方库以及pip install xxx
超简单的安装包方法。
但是有的第三方库,提供的函数方法非常的“简洁”,比如matplotlib
包中,绝大部分函数的参数列表是**kwargs
,让人非常疑惑。
于是就有了本篇文章的内容:参数列表中的**kwargs
是啥?
python函数定义
普通的参数列表
首先从最简单的python函数定义开始,普通的参数列表长这样:
def func(a, b, c):
print(a, b, c)
func(1, 2, 4)
# 1 2 4
也就是说,传参顺序按照函数的参数列表顺序a, b, c
。
此外,可以指定传参时的接收参数:
def func(a, b, c):
print(a, b, c)
func(b=1, a=2, c=4)
# 2 1 4