如何在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)
广告