标签 kwargs 下的文章

我们经常在开源的一些Python代码中看到 *args**kwargs 这样函数参数定义, 到底他们是含义? 又如何使用呢?

在回答这个问题前,我们先来介绍下, Python 参数传递的方式.

函数定义中的 *args**kwargs

在Python中,参数总是通过赋值传递的, 俗称值传递, 在默认情况下, 参数是通过其位置进行匹配的, 但是Python也是支持关键字的参数匹配形式的.

按位置进行匹配

这是Python的默认行为,通过其位置进行匹配, 从左到右,必须精确的传递和函数头部参数名一样多的参数。这种方式我们平常用的最多,比如:

def foo(a, b, c):
    print(a, b, c)

foo(1, 2, 3)

- 阅读剩余部分 -