将 Kwargs 传递给 Python 中的另一个函数


Python 列出了可以传递给程序中的函数的两种类型的参数。 非关键字参数 (**args) 和关键字参数 (**kwargs)。

通常,python 函数必须使用正确数量的参数进行调用。 如果函数需要两个参数,我们应该只传递两个。

在本文中,我们将讨论如何使用关键字参数以及如何将关键字参数传递给另一个函数。


Python 中的关键字参数

通常,参数确实将信息传递给函数。 关键字参数是一种可用于将参数传递给函数的方法。

特别是使用关键字参数,我们可以使用 key = value 语法发送参数。 让我们看看下面的例子。

def keyword_function(fname,lname,age):
    print("first name is " + fname )

keyword_function(fname= "Anne",lname= "Steaven" ,age= 27)

此示例定义了一个名为 keyword_function 的函数。 它传递三个名为 fname、lname 和 age 的参数。

因此,这些参数作为关键字参数发送,因为当函数在程序中调用时,每个参数都采用键值对。

输出:

在上面的输出中,我们打印了一条传递 fname 参数的语句。


在 Python 中使用**kwargs 调用函数

当几个参数未知时,主要可以使用关键字参数。 在这种情况下,在函数定义中的参数名称前添加两个星号 (**)。

如果函数有一个 **kwargs 参数,它接受可变数量的关键字参数作为字典。

考虑以下示例。

def animals(**kwargs):
    print(kwargs)

animals(name1='Rabbit',name2='Dog',name3='Monkey')

上面的代码中有一个叫做 animals 的函数。 它有一个名为 **kwargs 的参数,该函数调用以三个参数作为关键字参数。

输出:

在 Python 中使用 **kwargs 调用函数

我们可以将结果视为具有两对值和键的字典。 kwargs 参数是约定俗成的。

因此,作为参数名称,我们可以使用任何有意义的名称。 同样,这就是他们使用 **kwargs 参数调用函数的方式。


使用 Python 将 kwargs 传递给另一个函数

代码:

def info(**):
    x = dict(name="shen",age=27,degree="SE")
    pass_func(**x)

def pass_func(**kwargs):
    for i in kwargs:
        print(i,kwargs[i])
info()

使用上面的代码,我们打印有关此人的信息,例如姓名、年龄和学位。 该程序将 kwargs 传递给另一个函数,该函数包含声明 dict 方法的变量 x。

不带任何参数的示例定义函数信息。 函数 info 声明了一个变量 x ,它定义了三个键值对,通常,键值对在 Python 中定义为字典类型。

因此,dict 方法指定了一对键和值。 由于 kwargs unpack arguments 被声明为字典类型,我们可以在这个例子中使用 dict 方法。

然后我们有另一个名为 pass_func 的函数,它传递 kwargs 参数。 这个函数包括一个打印 kwargs 参数的 for 循环,之后,我们可以将 kwargs 函数传递给 info 函数来打印 x。

因此,我们使用 x 变量的 kwargs 参数调用 pass_func。 最后,我们在pass_func函数中调用info函数。

输出:

使用 Python 将 kwargs 传递给另一个函数


总结

在整篇文章中,我们专注于如何将 kwargs 传递给另一个函数。 kwargs 参数可以获得多个变量,每个参数没有定义的参数。

将 kwargs 参数传递给函数时,它必须使用双星号和参数名称 **kwargs。 将 kwargs 传递给另一个函数时,首先创建一个带有两个星号的参数,然后我们可以将该函数传递给另一个函数作为我们的目的。

猜你喜欢

转载自blog.csdn.net/fengqianlang/article/details/132136661
今日推荐