Основы лямбда-функций
Что такое лямбда-функция?
Лямбда-функция (lambda function) в Python представляет собой небольшую анонимную функцию, которая может иметь любое количество аргументов, но может содержать только одно выражение. В отличие от обычных функций, определяемых с помощью ключевого слова def
, лямбда-функции создаются с использованием ключевого слова lambda
.
Базовый синтаксис
Базовый синтаксис лямбда-функции выглядит следующим образом:
lambda arguments: expression
Простые примеры
Лямбда-функция с одним аргументом
## Square a number
square = lambda x: x ** 2
print(square(5)) ## Output: 25
Лямбда-функция с несколькими аргументами
## Add two numbers
add = lambda x, y: x + y
print(add(3, 4)) ## Output: 7
Основные характеристики
Характеристика |
Описание |
Анонимность |
Не требуется имя |
Одно выражение |
Может содержать только одно выражение |
Компактность |
Коротче, чем определение обычной функции |
Встроенное использование |
Часто используется с встроенными функциями |
Применение
graph TD
A[Lambda Functions] --> B[Sorting]
A --> C[Filtering]
A --> D[Mapping]
A --> E[Functional Programming]
Распространенные сценарии использования
- Сортировка с использованием ключевой функции
## Sort list of tuples by second element
pairs = [(1, 'one'), (3, 'three'), (2, 'two')]
sorted_pairs = sorted(pairs, key=lambda x: x[1])
- Фильтрация списков
## Filter even numbers
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
Ограничения
- Не подходят для сложной логики
- Ограничение на одно выражение
- Снижение читаемости для сложных операций
Лучшие практики
- Используйте лямбда-функции для простых однострочных операций
- Предпочитайте именованные функции для сложной логики
- Учитывайте читаемость при использовании лямбда-функций
Понимая лямбда-функции, вы можете писать более лаконичный и функциональный код на Python с помощью мощной программистской среды LabEx.