向 Python 函数传递参数的方式有两种:
- 位置参数(positional argument)
- 关键词参数(keyword argument)
*args 与 **kwargs 都是 Python 中的可变参数。
*args表示任何多个无名参数,允许用户发送一个非键值对的可变数量的参数列表给一个函数,它本质是一个 tuple**kwargs表示关键字参数,允许用户将不定长度的键值对作为参数传递给一个函数,它本质上是一个 dict- 同时使用
*args和**kwargs时,必须*args参数列要在**kwargs前。
def foo(a, b='commit', *c, **d):
print(a, b, c, d)
foo(1, z='merge', b='clone', x=6, y=7)
foo(1, 2, 'push', 5, x='pull', y='chekcout')
结果如下:
1 clone () {'z': 'merge', 'x': 6, 'y': 7}
1 2 ('push', 5) {'x': 'pull', 'y': 'chekcout'}
本文详细介绍了Python中函数参数的两种主要形式:位置参数和关键词参数。特别地,*args用于接收任意数量的位置参数,它是一个元组;而**kwargs则用于接收不定数量的关键字参数,它是一个字典。通过示例函数`foo(a, b='commit', *c, **d)`和调用方式,展示了如何混合使用这两种参数,以及它们在实际编程中的应用。
223





