Python中的*args和**kwargs
当我们在Python程序中定义一个函数时,目的是通过为函数的参数提供不同的值来多次执行代码。这种设计中的一个挑战是,如果我们不确定想要在每次调用该函数时处理的参数数目怎么办。这就是需要特殊参数*args和**kwargs的地方。让我们逐个查看它们。
*args
*args使我们能够将可变数量的参数用作函数的输入。在下面的示例中,我们正在查找一系列数字的乘积结果。这些数字的计数每次调用函数时都会有所不同。
示例
输出
运行上述代码会给出以下结果 –
**kwargs
接下来,有些情况下,我们希望将关键字参数作为函数的参数传递,这些参数基本上是键值对。
在这里,我们可以将可变数量的这些关键字参数传递给函数。这些参数被命名为**kwargs。请注意,在使用此类参数时有两个星号。实际上,这样的关键字参数作为Python字典传递到程序中,该字典包含许多键值对。
示例
输出
运行上述代码会给出以下结果 –