如何将变量关键字参数传递给Python中的函数?

Kal*_*ijs 1 python dictionary kwargs

如何将字典键(或其他属性/值)作为关键字参数的关键字传递?

我想传递参数的函数接受关键字参数:

func(arg1= "foo", arg_a= "bar", firstarg= 1)
Run Code Online (Sandbox Code Playgroud)

我有很多参数传递给它,所以我想循环它(或者如果没有循环可能,甚至更好):

arguments_dictionary={'arg1': "foo", 
                      'arg_a': "bar",
                       ...}

for keyword, value in arguments_dictionary.items():
  func(keyword= value)
Run Code Online (Sandbox Code Playgroud)

可悲的是,keyword=不被认为是'arg1'.我怎样才能做到这一点?

bru*_*ers 8

假设您想要拨打func一次电话:

def func(arg1="foo", arg_a= "bar", firstarg=1):
   print(arg1, arg_a, firstarg)

arguments_dictionary = {
  'arg1': "foo", 
  'arg_a': "bar",
  'first_arg':42
   }

func(**arguments_dictionnary)
Run Code Online (Sandbox Code Playgroud)

  • 奇怪的是SO如何运作...有时你需要花费数小时写一个清晰,详细的答案,深入解释一些神秘的功能,甚至没有得到一个upvote,然后你写一个初级水平问题的最小答案,得到五在几分钟内赞成<g> (2认同)