Представьте, что у меня есть диктат:
d = {'a': 3, 'b':4}
Я хочу создать функцию f, которая делает то же самое, что и эта функция:
def f(x, a=d['a'], b=d['b']):
print(x, a, b)
(не обязательно печатать, но делать что-то с переменной и вызывать напрямую от их имени).
Но я бы хотел создать эту функцию прямо из текста, то есть, я хотел бы иметь что-то похожее на
def f(x, **d=d):
print(x, a, b)
и это ведет себя как ранее определенная функция. Идея состоит в том, что у меня есть большой словарь, который содержит значения по умолчанию для аргументов моей функции, и я не хотел бы делать
def f(a= d['a'], b = d['b'] ...)
Я не знаю, возможно ли это вообще в Python. Любое понимание приветствуется!
Изменение: идея заключается в том, чтобы иметь возможность позвонить f(5, a=3)
.
Edit2: Вопрос не в том, чтобы передать аргументы, сохраненные в dict, в функцию, а в том, чтобы определить функцию, имена аргументов и значения по умолчанию которой хранятся в dict.