Лямбда-функции в Python: примеры |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2022-05-22 12:11
Лямбда-функции – это анонимные функции, которые содержат только одно выражение.
Вы можете подумать, что лямбда-функции – это что-то сложное, доступное только продвинутым программистам. Но из этой статьи вы узнаете, как легко начать использовать их в своём коде. В Python мы обычно создаём функции так: def my_func(a): # Тело функции Они объявляются при помощи ключевого слова Например, функция, удваивающая аргумент: def double(x): return x*2 Такую функцию, например, можно использовать в методе def double(x): return x*2 my_list = [1, 2, 3, 4, 5, 6] new_list = list(map(double, my_list)) print(new_list) # [2, 4, 6, 8, 10, 12] Именно здесь целесообразно использовать лямбда-функцию, т.к. её можно создать прямо в том же месте, где она используется. А это означает меньше строк кода. Кроме того, нам не придётся создавать функцию с именем, которая будет занимать место в памяти и пригодится лишь однажды. Как использовать лямбда-функции в Python Как вы уже поняли, лямбды применяются там, где нужна маленькая функция на короткое время – например, в функциях высшего порядка, таких как Синтаксис лямбда-функции имеют следующий: lambda args: expression Сперва пишется слово Обратите внимание, что лямбда-функциям нельзя дать имя, потому что они анонимные (без имени) по определению. Аргументов в них может быть сколько угодно, но выражение в теле обязательно одно. Английский для программистов Наш телеграм канал с тестами по английскому языку для программистов. Английский это часть карьеры программиста. Поэтому полезно заняться им уже сейчас Пример 1 Можно написать лямбду, которая удваивает свой аргумент: my_list = [1, 2, 3, 4, 5, 6] new_list = list(map(lambda x: x*2, my_list)) print(new_list) # [2, 4, 6, 8, 10, 12] Заметьте разницу между этим кодом и функцией Пример 2 А ещё можно создать лямбда-функцию, которая ищет числа больше нуля: my_list = [18, -3, 5, 0, -1, 12] new_list = list(filter(lambda x: x > 0, my_list)) print(new_list) # [18, 5, 12] Лямбда-функция определяется там, где используется. Таким образом, в памяти не придётся хранить функцию с именем. Поэтому для одноразового использования целесообразно писать лямбда-функции, чтобы избежать загромождения. Пример 3 Лямбда также может быть возвращаемым значением другой функции. Если вам потребуется создать несколько функций, умножающих числа (например, удваивающих и утраивающих), лямбда может помочь. Вместо объявления множества таких функций можно создать всего лишь одну: def muliplyBy (n): return lambda x: x*n double = multiplyBy(2) triple = muliplyBy(3) times10 = multiplyBy(10) Лямбда-функция принимает значение double(6) > 12 triple(5) > 15 times10(12) > 120 Без лямбды вам бы пришлось определять внутри def muliplyBy (x): def temp (n): return x*n return temp Лямбда-функция занимает всего полстроки и увеличивает читабельность кода. Заключение Лямбда-функции – это компактный вариант записи функций, содержащих только одно выражение. Новички обычно ими не пользуются, но теперь вы понимаете, как их можно применить для решения задач разной сложности. Перевод статьи Lambda Function in Python – Example Syntax. Источник: pythonist.ru Комментарии: |
|