*:它将列表 l 中的值解压缩为位置参数。然后将解压缩的值作为位置参数传递给函数。
*args:它接收一个元组,其中包含形式参数列表之外的位置参数。所以,args 是一个元组。不用担心我们解释中的“形式参数列表”部分,接下来的几个例子会很清楚。在我们打印“args”的最后一个示例中,它打印了一个元组,其中包含我们在调用函数时传递的所有值。由于 'args' 是一个元组,我们可以迭代它。
**:让我们在函数调用中使用 **。为此,我们想要一本字典。请记住,在函数调用中使用 * 时,我们需要一个列表/元组。为了在函数调用中使用 **,我们需要一个字典。
**kwargs:因此,此函数只能接受一个位置参数,因为形式参数列表仅包含一个变量 'a'。但是使用**kwargs,它可以接受任意数量的关键字参数。