Python 中的 **args 和 **kwargs17 Mar 2025 | 4 分钟阅读 什么是参数?在 Python 或任何其他编程语言中,我们将一些变量或参数传递给某个函数。在这种情况下,这些变量称为函数的参数。在函数定义中,我们必须定义参数的类型和我们将传递的参数数量。 但是,如果我们不知道要为任何函数传递的参数数量,我们可以使用 *args 和 **kwargs 关键字。 换句话说,在其他语言中,没有传递可变数量参数的灵活性,但在 Python 中,我们可以借助 *args 和 **kwargs 关键字在函数中传递可变数量的参数。 我们可以传递两种类型的参数给函数:
如果我们想传递非关键字参数,我们将使用 *args 关键字;如果我们想传递关键字参数,我们将使用 **kwargs 关键字。 在这里,* 被称为通配符,我们可以用任何数字替换它,表示函数中的任意数量的参数。* 的值可以是零,这意味着函数中没有参数。 Python 中的 *args使用此关键字,我们可以将任何可变长度的参数列表传递给函数,这称为“args”。由于 * 表示可变数量的参数,因此它是可迭代的,这意味着我们可以对其应用循环或使用 map 或 filter 等其他函数进行迭代。 示例 1 输出 ![]() 说明 在上面的代码中,我们有一个函数,它接受一个参数 *argv,这仅仅意味着我们可以根据需要传递任意数量的参数。现在在函数中,我们应用了 for each 循环,我们正在打印循环中的每个元素。 因此,我们向函数传递了四个字符串参数,并成功打印了它们。 示例 2 我们可以使用此关键字传递字符串以及整数数据类型。因此,可以有不同数据类型的参数。 输出 ![]() 说明 在上面的代码中,我们传递了字符串和整数参数,并使用了 *argv 关键字,并通过 for 循环打印了它们。 示例 3 通过可变长度参数,我们还可以向函数添加任何普通参数。 输出 ![]() 说明 在函数调用中,第一个参数将是普通参数,而后续参数将作为可变参数列表的一部分。 注意:如果我们为 *args 之后传递了额外的普通参数,它将引发错误。输出 ![]() 说明 在上面的代码中,由于最后一个参数已被包含在 *args 关键字中,因此它会因找不到最后一个参数而产生错误。 Python 中的 **kwargs当我们将关键字参数作为函数的参数传递时,使用此关键字。关键字参数意味着我们将名称赋给每个变量,这个列表以键值对字典的形式存储。变量的名称是键,变量的值是键的值。 示例 1 输出 ![]() 说明 在上面的代码中,我们有一个函数,它以 **kwargs 的形式接受参数。参数以键值对的形式存储,所以我们传递了带有名称的四个参数。现在,如果我们使用关键字的 items() 函数进行迭代,我们可以打印变量的键-值对。 注意:我们可以同时在函数中传递关键字参数和非关键字参数。示例 2 输出 ![]() 说明 在上面的代码中,我们在函数中同时使用了 *args 和 **kwargs 关键字,并打印了所有参数。在函数调用中,我们传递了一些非关键字参数,然后传递了一些关键字参数。当我们打印非关键字参数时,它以列表形式打印;如果我们打印关键字参数,它以键值对的字典格式打印。 |
数据分析可以帮助我们从数据中获取有用的信息,并为我们的查询提供解决方案。此外,基于观察到的模式,我们可以预测不同业务策略的结果。理解数据分析的基础 数据 我们工作的基本数据类型……
5 分钟阅读
?在本节中,我们将了解如何使用各种方法检索 Python 的当前日期。日期是应用程序、网站或数据库服务器的重要组成部分,它指示软件创建、存储网站记录、应用程序版本等的时间和日期……
阅读 6 分钟
Python是一种可以服务于不同目的的编程语言,用它几乎可以做任何事情。Python也可以用于开发游戏。开发游戏是学习如何编写程序的好方法。在下面的教程中,我们将学习如何...
阅读 13 分钟
在本Python教程中,我们将探讨如何解决错误、Python中的“syntaxerror return outside function”以及“can't assign to function call”。在Python中使用函数时,会发生函数外返回的错误。在编程方面,函数是非常...
阅读 6 分钟
引言 流行的 Python 模块 Matplotlib 用于生成各种数据可视化。Matplotlib 中的 Axes 类对于图表绘制过程至关重要。Axes 对象可以被视为一个画布或图形中的特定子图,您可以在其中显示数据。1....
阅读 3 分钟
YouTube 被认为是观看次数最多的视频流媒体网站之一。YouTube 是一个于 2005 年推出的在线视频平台,提供各种各样的内容,包括教育视频、娱乐内容、电视剪辑、音乐和游戏视频等等。互联网连接缓慢可能会导致困难...
阅读25分钟
在执行某些任务时,我们必须出于多种原因使用图表,例如折线图、条形图等,例如使任务更具交互性,以非常有趣的方式传递信息,图表易于理解且不言自明等。这就是为什么绘制图表或...
阅读 8 分钟
为了在以后使用,开发者有时可能希望通过网络传输复杂的对象命令来保存其对象的内部状态。开发者可以使用Python标准库支持的Pickle模块的序列化过程来实现这一点。我们将...
阅读 15 分钟
我们都在日常生活中处理数据库,无论是否知道。但事实仍然是,数据库是互联网和互联网上提供的每项服务的组成部分。数据库是存储来自互联网或提供的服务的数据的系统或软件...
阅读 16 分钟
简介 曲线拟合是一种优化,它为已定义的函数找到一组最佳参数,以适用于给定的一组观测值。与监督学习不同,曲线拟合需要我们定义将输入示例映射到输出的函数。用于...
阅读 8 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India