如何在Python中将可选参数或关键字参数从一个函数传递到另一个函数?


要将可选参数或关键字参数从一个函数传递到另一个函数,请使用函数参数列表中的 * 和 ** 说明符收集参数。但是,首先,要知道 Python 中的 *args 和 **kwargs 是什么。让我们来了解一下它们:

Python 中的可变长度/任意参数 (*args)

示例

当您事先不知道要传递的参数数量时,这些参数就是可变长度参数。在定义函数时,在参数名称前加上星号 *。让我们来看一个例子:

def demo(*car): print("Car 1 = ",car[0]) print("Car 2 = ",car[1]) print("Car 3 = ", car[2]) print("Car 4 = ", car[3]) # call demo("Tesla", "Audi", "BMW", "Toyota")

输出

('Car 1 = ', 'Tesla')
('Car 2 = ', 'Audi')
('Car 3 = ', 'BMW')
('Car 4 = ', 'Toyota')

Python 中的任意关键字参数 (**kwargs)

当您事先不知道要传递的关键字参数数量时,这些参数就是任意关键字参数。

示例

让我们来看一个例子:

def demo(**c): print("Car Name: "+c["name"]) print("Car Model: "+c["model"]) # call demo(name = "Tesla", model = "2022")

输出

Car Name: Tesla
Car Model: 2022

将可选参数或关键字参数从一个函数传递到另一个函数

要传递,请使用函数参数列表中的 * 和 ** 收集参数。通过这种方式,您将得到一个元组形式的位置参数和一个字典形式的关键字参数。使用 * 和 ** 在调用另一个函数时传递这些参数:

def f(a, *args, **kwargs): ... kwargs['width'] = '14.3c' ... g(a, *args, **kwargs)

更新于:2022年9月19日

933 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告