Вы можете просто сделать:
function_to_be_called(**option_dict)
Старый способ сделать это был с помощью функции apply
, но теперь он не рекомендуется для синтаксиса *args
и **keywords
.
На самом деле это действительно круто, так как это означает, что вы можете иметь функцию и кортеж аргументов и вызывать функцию, поэтому:
def polly(cracker, wants):
if wants:
print 'polly wants a', cracker
f = polly
t = ('cracker', True)
Теперь все они эквивалентны:
polly('cracker', True)
polly(*('cracker', True))
polly(*t)
f('cracker', True)
f(*t)
Теперь разверните это для аргументов ключевых слов - но посмотрите настоящий учебник. Но, как указывает @Duncan, вы можете сделать это:
polly(**{cracker: 'cracker', wants: True})
d = {cracker: 'biscuit', wants: True}
polly(**d)