我有一个功能
def wrapper_function(url, **kwargs)
def foo():
if kwargs:
return do_something(url, kwargs)
else:
return do_something(url)
do_something()
函数可以有一个或多个参数。
当我拨打wrapper_function()
时,想要将其称为
wrapper_function('www.bar.com')
或
wrapper_function('www.bar.com', selected_clients=clients)
以便do_something('www.bar.com', selected_clients=clients)
。
然而,当我这样接近时,我收到一个错误
clients is not defined
。
如何将params与关键字完全一样传递给内部函数?重要的是,该关键字也需要变量。
答案 0 :(得分:7)
当你的函数以foo(**kwargs)
形式接收kwargs时,你可以像访问python dict一样访问keyworded参数。同样,要将dict以几个keyworded参数的形式传递给函数,只需再次将其作为**kwargs
传递。所以,在你的情况下,
do_something(url, **kwargs)