Лямбда-функции и анонимные функции в Python: синтаксис и примеры использования
Python

Лямбда-функции и анонимные функции в Python: синтаксис и примеры использования

Razilator

В Python функции являются объектами первого класса, что означает, что они могут быть переданы как аргументы в другие функции и возвращаться в качестве результата выполнения других функций.

Однако, определение функций может быть довольно громоздким и занимать много места в коде. Для уменьшения объема кода в Python существует возможность определять анонимные функции с помощью лямбда-выражений.

Лямбда-выражения

Лямбда-выражение - это способ определения анонимной функции в Python. Оно представляет собой однострочное выражение, которое возвращает значение функции.

Лямбда-выражение имеет следующий синтаксис:

Синтаксис
lambda аргументы: выражение

Например, определим лямбда-функцию, которая возвращает квадрат числа:

main.py
square = lambda x: x ** 2
print(square(5)) # 25

В этом примере мы определяем лямбда-функцию, которая принимает аргумент x и возвращает его квадрат. Затем мы вызываем эту функцию и передаем ей аргумент 5.

Анонимные функции

Анонимные функции - это функции, которые не имеют имени. Они могут быть определены с помощью лямбда-выражений. Обычно анонимные функции используются там, где требуется определить функцию один раз и использовать ее только внутри одной функции или выражения.

Например, мы можем использовать анонимную функцию внутри функции sorted() для сортировки списка по длине элементов:

main.py
my_list = ['apple', 'banana', 'cherry', 'date']
sorted_list = sorted(my_list, key=lambda x: len(x))
print(sorted_list) # ['date', 'apple', 'banana', 'cherry']

В этом примере мы используем лямбда-выражение для определения анонимной функции, которая принимает аргумент x и возвращает длину строки x. Затем мы передаем эту анонимную функцию в качестве аргумента key функции sorted(), которая сортирует список my_list по длине элементов.

Заключение

Лямбда-функции и анонимные функции - это способы определения функций в Python, которые позволяют уменьшить объем кода и сделать его более читаемым. Лямбда-выражения представляют собой одно из мощнейших инструментов в Python.

;