Python中的可变长度参数

2025年1月5日 | 阅读 4 分钟

我们已经学习了在程序中定义和调用函数的不同方法。

在本文中,我们将讨论 Python 中的可变长度参数是什么。

在这里,我们将涵盖两种类型:

  1. 非关键字参数 (*args)
  2. 关键字参数 (**kwargs)

非关键字参数 (*args)

首先,让我们理解 *args 的属性,

  1. *args 中的 * 表示我们可以在 Python 函数中传递任意数量的参数。
  2. 我们可以在函数调用中传递任意数量的参数。

下面的程序说明了这一点:

输出

Let
us
study
Data Science
and
Blockchain

说明:

让我们来理解一下我们在上面的程序中做了什么:

  1. 在第一步中,我们创建了一个函数,它将可变参数作为其参数。
  2. 之后,我们使用了一个 for 循环,它将获取其中的每个元素或参数(在本例中)并打印它。
  3. 最后,我们在函数中传递了六个字符串作为参数。
  4. 执行程序后,将显示所需的输出。

让我们来看另一个基于 *args 的程序。

输出

The first parameter is:  Let
The second parameter is:  us
study
Data Science
and
Blockchain

说明:

现在是时候一览该程序的解释了。

  1. 在第一步中,我们创建了一个函数,它接受两个参数,然后其余作为可变参数。
  2. 在下一步中,我们定义了函数,并在其中显示了前两个参数的值。
  3. 之后,我们使用了一个 for 循环,它将获取其中的每个元素或参数(在本例中)并打印它。
  4. 最后,我们在函数中传递了六个字符串作为参数。
  5. 执行程序后,将显示所需的输出。

现在让我们理解 Python 中的关键字参数或 **kwargs 是什么。

关键字参数 (**kwargs)

在这里,我们可以传递一个关键字可变长度参数。

它的一些特性是:

  1. 双星号表示可以在函数中传递任意数量的关键字参数。
  2. 它类似于字典,其中每个键都映射到一个值。

考虑下面的程序,

输出

a_key=Let
b_key=us
c_key=study
d_key=Data Science
e_key=and
f_key=Blockchain

说明:

让我们看看我们在上面的程序中做了什么。

  1. 在第一步中,我们创建了一个函数,它接受关键字参数作为其参数。
  2. 之后,在函数定义中,我们指定将使用 for 循环来获取键值对。
  3. 最后,我们在函数中传递了六个键值对。
  4. 执行此程序后,将显示所需的输出。

考虑下面的另一个基于 **kwargs 的程序。

输出

b_key=us
c_key=study
d_key=Data Science
e_key=and
f_key=Blockchain

说明:

查看此程序的解释,

  1. 在第一步中,我们创建了一个函数,它接受一个参数,其余作为关键字参数。
  2. 之后,在函数定义中,我们指定将使用 for 循环来获取键值对。
  3. 最后,我们在函数中传递了五个键值对,因此它只显示输出中的那些对,而不考虑第一个字符串。
  4. 执行此程序后,将显示所需的输出。

我们将用一个程序来总结本文,该程序说明了如何在单个程序中使用 *args 和 **kwargs。

输出

The value of args is: ('Let', 'us', 'study')
The value of kwargs is: {'a_key': 'Data Science', 'b_key': 'and', 'c_key': 'Blockchain'}

说明:

  1. 在第一步中,我们创建了一个函数,它接受 *args 和 **kwargs(非关键字和关键字参数)作为其参数。
  2. 之后,在函数定义中,我们显示了这两个参数的值。
  3. 最后,我们在函数中传递了六个参数,其中三个是字符串,另外三个是键值对。
  4. 执行此程序后,将显示所需的输出。

结论

在本文中,我们学习了 Python 中的可变长度参数是什么以及如何在函数中使用它们。