Вы не можете поместить **dict
в свою оболочку, потому что **
является частью синтаксиса сигнатуры функции и не имеет значения в другом месте.
Вы хотите, чтобы my_fun
принимал 3 обязательных позиционных аргумента, за которыми следуют ноль или более ключевых аргументов, и вы хотите, чтобы они были в оболочке, которую вы можете передать как один аргумент. Один из способов сделать это - передать диктант вашей функции
kwargs=dict(arg1=1, arg2=2, arg3=3, arg4="four", arg5="five")
output = my_fun(**kwargs)
Затем внутри my_fun
проведите собственную проверку на наличие обязательных аргументов arg1
, arg2
, arg3
.
Хотя я согласен с Клаусом Д. в том, что вы, возможно, пытаетесь решить не-проблему здесь.