Форум сайта python.su
Есть сторонняя функция, чей исходный код менять нет возможности (т.е. нельзя переписать ее на использование **kwargs)
func(one, two, three) #что-то происходит pass
arg = {'one':123,'two':098,'three':456}
Офлайн
Может быть просто в цикле передавать нужные аргументы в нужном количестве?
Офлайн
NE88
Можно ли как-то выполнить ее (или обернуть), передав в нее в качестве параметров словарь
func(**args)
Офлайн
Легко
def func(one, two, three): print one, two, three kw = {'one':123, 'two':098, 'three':456} func(**kw)
Отредактировано 4kpt_II (Янв. 13, 2014 21:43:57)
Офлайн
Informatikum по порядку нельзя, так как может быть что-то пропущено и не хочется связываться с
exec()
Офлайн
NE88Чего?
Budulianin Функция чужая и уже написана без использования **args
Отредактировано 4kpt_II (Янв. 13, 2014 21:43:26)
Офлайн
Informatikum
Может быть просто в цикле передавать нужные аргументы в нужном количестве?
Офлайн
NE88
Budulianin Функция чужая и уже написана без использования **args
Офлайн
Все понял, спасибо
Офлайн
BudulianinК твоему лошадиному мнению, я читаю Лутца, но там таких примеров я еще не видел.
Тебя же уже послылаи читать книги, а ты опять хрень пишешь, нубист
def function(one, two, three): one = one + two + three print(one) arg = {'one':100,'two':200, 'three':300} a = arg['one'] b = arg['two'] c = arg['three'] print(a, b, c) function(a, b, c)
Офлайн