简体   繁体   中英

How do I pass variable keyword arguments to a function in Python?

How can I pass dictionary keys (or other attributes/values) as keywords for keyword arguments?

The function I want to pass arguments to takes keyword arguments:

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

I have a lot of arguments to pass to it, so I'd like to loop it (or if it's possible without a loop, even better):

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

for keyword, value in arguments_dictionary.items():
  func(keyword= value)

Sadly, keyword= is not recognized as 'arg1'. How can I make this work?

Assuming you want to call func a single time:

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)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM