Поясняет редакция «Кода»:
На картинке — скриншоты из фильма «Первый мститель: Противостояние», где Стив Роджерс (Капитан Америка) большую часть времени идеологически противостоит Тони Старку (Железный Человек). Их споры — одна из центральных линий фильма, и мем обыгрывает как раз именно это.
Сверху мы видим Стива, который объявляет функции в Python классическим способом с помощью ключевого слова def
. Дальше идёт тело функции, в котором возвращается результат сложения двух переменных, которые нужно передать в эту функцию.
Ниже — Тони Старк, бунтарь и изобретатель, который вместо этого определяет функцию иначе — с помощью безымянных лямбда-выражений. Для этого он использует ключевое слово lambda
, а дальше указывает требуемые переменные и возвращаемый результат (сложение).
Ирония тут в том, что обе этих функции конкретно в этом примере работают абсолютно одинаково — возвращают результат сложения двух переменных. И именно этим часто грешат начинающие программисты, которые просто выбирают какой-то один подход, вместо того чтобы разобраться, для чего же тогда есть второй. В конце концов, лямбда-функции же не просто так придумали, да?