2009-10-04 4 views
2

Я делаю некоторые кодирования Python в кодовой базе клиентов, и я наткнулся на строку кода, который выглядит примерно так (имена переменных были изменены, чтобы защитить невинных):python varargs перед именем функции?

reply = function1(a=foo, **function2(bar, b=baz)) 

Обычно ** в списке аргументов собираются оставшиеся аргументы ключевых слов, но что они делают перед именем функции?

ответ

11

Я бы сказал, что это просто вызов функции, которая возвращает объект, подобный dict, и поэтому звездочки просто преобразуют возвращаемый dict в аргументы ключевого слова для функции1, как обычно.

+0

Конечно! Ты прав. Теперь я тоже это вижу ... :) –

 Смежные вопросы

  • Нет связанных вопросов^_^