Лямбда-функция — это небольшая анонимная функция, которая может иметь только одно выражение.
Введение
lambda — анонимная и однострочная функция. Это помогает вам заменить простые функции одной строкой, достигнув простоты, которой больше всего гордится язык программирования Python.
Синтаксис:
лямбда аргументы: выражение
Аргументы — это переменные, которые вы передаете этой функции, а выражение — это логика, которую выполняет ваша функция.
Объяснение
e.g. 1
def example1(x): return x lambda x : x
Давайте посмотрим на первый пример, мы можем знать, что эта функция называется example1, и она вернет переменную x, переданную пользователем.
lambda — анонимная функция, поэтому ее не нужно называть example1. Перед : находится переменная x, переданная пользователем, а после : — возвращаемое значение, потому что здесь нет математики, поэтому выражение заканчивается здесь.
e.g.2
def example2(x): if x > 10: return x else: return 10 lambda x : x if x > 10 else 10
Второй пример должен почувствовать мощь лямбды. Когда исходный пятистрочный программный код написан на лямбда-выражении, нужна только одна строка.
Проанализируйте способ написания лямбда-выражения. Тот же пользователь передает переменную x и возвращает x, но с некоторыми вычислениями. Возвращает x, если x > 10, иначе возвращает 10.
Прямо сейчас вы должны быть знакомы с синтаксисом лямбда. Затем мы комбинируем некоторый синтаксис Python, чтобы написать более волшебные лямбда-функции.
e.g.3
def example3(x): y = [] for i in x: y.append(i + 1) return y lambda x: list(map(lambda i : i+1, x))
Используя карту вместо цикла for, одна строка кода может содержать логику for и сложения.
Упражнение
Теперь попробуйте изменить следующую функцию на лямбду.
def example4(x): if x % 2 == 0: return "even" else: return "odd"
Хорошего дня!