传递**kwargs到内部函数

2024-04-19 08:41:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有个功能

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

我怎样才能像传递关键字一样将参数传递到一个内部函数中?重要的是,该关键字也必须是可变的。


Tags: 函数comurlreturndefwwwbarfunction
1条回答
网友
1楼 · 发布于 2024-04-19 08:41:44

当函数以foo(**kwargs)的形式接受kwargs时,可以像访问python dict一样访问关键字参数。同样,要将dict以多个关键字参数的形式传递给函数,只需再次将其作为**kwargs传递即可。所以,就你而言

do_something(url, **kwargs)

相关问题 更多 >