Предположим, у меня есть следующая функция
def f(x,y,**kwargs):
if 'z' in kwargs:
z = kwargs['z']
else:
z = 0
print(x + y + z)
, которая принимает два аргумента и необязательный аргумент ключевого слова.Теперь я хочу получить функцию g, которая работает так же, как f, но для которой значение z предопределено.Следовательно, я мог бы сделать следующее
def g(x,y):
z = 3
f(x,y, z = 3)
Но что я могу сделать, если я не знаю количество аргументов без ключевых слов, которое принимает f.Я могу получить список этих аргументов по
args = inspect.getargspec(f)[0]
Но, если теперь я определю g как
g(args):
z = 3
f(args, z=z)
, это, конечно, не сработает, так как только один обязательный аргумент передается в f,Как мне обойти это?То есть, если у меня есть функция, которая принимает аргументы ключевого слова, как мне определить вторую функцию точно так же, как ожидают, что аргументы ключевого слова принимают заранее определенные значения?