В этом руководстве представлена функция усовершенствованного языка: лямбда функции Отказ Функции лямбда укоренились в математической зоне Лямбда исчисления Отказ Один из пионеров этой области был церковь Алонзо. Он ввел функции лямбда в 1936 году еще до появления первых компьютеров.
Функции лямбда существуют в широком ассортименте языков для функционального программирования. Они не только в сердце функциональных языков программирования, они также являются основой многих продвинутых функций языка Python.
Например, современный язык Scala для параллельного программирования сочетает в себе традиционные языковые элементы (например, от Java) с функциональными элементами (например, функции лямбда).
Примеры лямбда исчисления
Прежде чем определить лямбда-функции для вас, давайте учимся настоящим! Вот некоторые интересные:
>>> f = lambda x, y: x + y >>> f(1, 2) 3 >>> f(2, 3) 5
Вы определяете функцию лямбда, которая принимает два входных аргумента х
и y
и возвращает сумму х + y
Отказ
Например, вы можете использовать его для передачи функции в функцию:
>>> customers = ['Alice', 'Bob', 'Carl'] >>> ids = map(lambda name: name[:1], customers) >>> list(ids) ['A', 'B', 'C']
Список Клиенты
состоит из трех строк. Вы определяете карта ()
Функция, которая применяет первый аргумент функции (функции – это объекты!) Для каждого элемента в списке. Прошло лямбда Функция Возвращает первый символ строки с использованием базового Операция нарезки Отказ
LAMBDA CALLUS Turging Complete
Функция лямбда – Turing Complete Это означает, что вы можете выполнить все вычисления, компьютер может выполнять только с помощью функций Lambda! Вы можете найти больше о Формальная теория лямбда исчисления здесь.
Так как работают ламбда функции?
А Функция лямбда – это анонимная функция без идентификатора. После лямбда
ключевое слово . Функция занимает один или несколько произвольные аргументы Отказ Аргументы являются запятыми, разделенные и законченные толстой кишкой. После того, как толстая кишка следует за одним выражением. Тем не менее, это выражение может состоять из сложных расчетов с использованием указанных переменных аргумента.
Функция лямбда затем возвращает результат этого выражения.
Следовательно, лямбда функции – синтаксические ярлыки для подкласса обычных функций Python Отказ
def make_incrementor(n): return lambda x: x + n f = make_incrementor(42) print(f(0)) print(f(1))
В фрагменте кода функция make_incrementer
Создает функцию лямбда во время выполнения. Созданная функция лямбда увеличивает элемент х
по фиксированной цене N
Отказ Например, функция инкрементации в головоломках увеличивает значение на 42. Мы назначаем эту функцию переменной F
Отказ Тогда мы Печать Результаты при увеличении значения 0 и 1 на инкремент 42.
Вы можете решить эту головоломку в нашей интерактивной головоломке App Finxter.com:
Нажмите на ссылку и Проверьте свои навыки сейчас!
Похожие видео: лямбда Функции
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.