Python 如何将关键字参数传递给函数

Python 如何将关键字参数传递给函数

在Python中,通常通过传递0个、1个或多个参数来调用函数。有两种可以使用的参数类型:

  • 位置参数

  • 关键字参数。

位置参数取决于它们传递给函数的顺序;它们是编程语言中使用得更普遍的参数类型。而关键字参数作为键值对传递,使得参数通过“=”运算符映射到键,从而允许Python解释器忽略位置。

在本文中,我们将讨论关键字参数以及如何在Python中将它们传递给函数。

关键字参数

关键字参数是一种特殊类型的参数,以(key, value)对的形式传递给函数。它们也被称为命名参数。当这些参数传递给函数时,它们的出现顺序或位置并不重要。

它们的工作方式类似于Python中的字典。

示例

让我们看一个小示例程序,演示了如何在函数中使用关键字参数。这里,我们定义了一个名为“team”的函数,并传递了两个参数“name”和“company”。

def team(name, company):
   print(name, "is working at", company)
team(company = "Google", name = 'John')

输出

上述程序的输出如下所示:

John is working at Google

示例

现在让我们在调用函数时交换参数的位置,看看是否会影响输出结果。

def team(name, company):
   print(name, "is working at", company)
team(name = 'John' , company = "Google",)

输出

执行程序时,输出显示与先前程序的输出完全相同。因此,这些参数的位置并不重要。

John is working at Google

传递多个参数

我们已经知道,Python函数可以接受任意数量的参数,只要为它们定义了相应的参数。

但是,根据传入值来定义函数的参数数量并不总是可能的。通常我们将大量的数据值作为参数传递给函数。如果我们输入100个值,那么在函数中定义100个变量是不可能的。

在这种情况下,我们使用Python预定义的特殊符号*args和**kwargs。args指的是提供给函数的位置参数,而kwargs指的是关键字参数。

**kwargs

**kwargs允许我们向函数传递可变数量的关键字参数。为此,在函数定义和调用时,我们只需在参数或参数名称之前使用双星号(**)。

与args一样,kwargs是一种习语;我们可以使用任何其他名称,只要我们在其前面放置(**)符号。

示例

让我们看一个**kwargs的示例。我们正在创建一个名为”person”的函数,并将其所有详细信息作为**kwargs参数传递给它。

def Person(**kwargs):
   for key, value in kwargs.items():
      print(key,"->", value)
Person(Name = 'Rahul', Sex = 'Male', Age = 38, City = 'Hyderabad', Mobile = 123456789)

输出

上面的程序的输出如下所示。我们可以通过在上面的程序中使用关键字Name、Sex、Age、City和Mobile来更清楚地看到我们打印的数据。因此,用户不会感到困惑,同时也节省了编码时间。kwargs是与参数值相关联的关键字。

Name -> Rahul
Sex -> Male
Age -> 38
City -> Hyderabad
Mobile -> 123456789

示例

这是另一个示例,用来演示**kwargs参数的用法。在这里,我们以字典格式显示输出结果。

def print_kwargs(**kwargs):
   print(kwargs)
print_kwargs(kwargs_1="Whale", kwargs_2=5, kwargs_3= False, kwargs_4=2.1)

输出

执行以上程序后,输出结果如下所示:

{'kwargs_1': 'Whale', 'kwargs_2': 5, 'kwargs_3': False, 'kwargs_4': 2.1}

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程