Python 如何从一个函数传递可选或关键字参数给另一个函数
要从一个函数传递可选或关键字参数给另一个函数,可以使用*
和**
在函数的参数列表中收集参数。但是,首先要了解在Python中的*args
和**args
是什么。让我们来了解一下它们:
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)