Итак, я пытаюсь понять, как использование * в приведенном ниже примере лямбда вписывается в * arg / ** kwarg Идиомы Python.
Если я создам простую функцию summing, которая использует sum (iterable) для суммирования списка чисел, есть по крайней мере пара способов сделать это.
def summing(*x): return sum(*x)
или я видел другой код, который использует эту версию для лямбда
summing = lambda * x: sum(*x)
Что касается лямбда-версии, я действительно не понимаю, как символ * вписывается в идиому. Я предполагаю, что это не должно быть шаблоном глобуса - так что это? Используется ли он где-нибудь в Python? (Или что-то вроде "* args" нечувствительно к пробелам?)
(Этот вопрос начался с небольшого фрагмента кода, который поставил меня в тупик.)
*args
нечувствителен к пробелам.* args
- это то же самое. - person mhlester   schedule 23.04.2014*args
и**kw
(без пробелов между звездочками и именем аргумента). - person Martijn Pieters   schedule 23.04.2014lambda
подобное. Вместо этого вы должны использоватьdef
, как в вашем первом примере. - person   schedule 23.04.2014