2
- это возможность «упаковать» аргументы в python? У меня есть следующие функции в библиотеке, что я не могу изменить (упрощенно):Аргументы Python pack?
def g(a,b=2):
print a,b
def f(arg):
g(arg)
я могу сделать
o={'a':10,'b':20}
g(**o)
10 20
, но я могу/как я могу передать это через f
?
Это то, что я не хочу:
f(**o)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: f() got an unexpected keyword argument 'a'
f(o)
{'a': 10, 'b': 20} 2
Проблема в том, что я не могу изменить f или g, это не мое :) Конечно, я мог бы написать ошибку. – user395589
Извините, я неверно истолковал ваш вопрос в этом отношении. Тогда я думаю, что у вас нет другого выбора, кроме повторного выполнения 'f' или запроса изменения в библиотеке. – Philipp
В-третьих, 'f' не дает возможности передать значение' b' в 'g', поэтому вы должны указать ошибку –