Лямбда-функції
Свайпніть щоб показати меню
Лямбда-функції — це основна можливість Python, яка дозволяє створювати невеликі анонімні функції за допомогою лаконічного синтаксису. Основне призначення лямбда-функції — визначення функції в одному рядку, зазвичай для коротких, одноразових випадків, коли повне визначення функції через def було б надмірно громіздким.
Лямбда-функції найчастіше використовуються разом із функціями вищого порядку, такими як map, filter та sorted, коли потрібно передати функцію як аргумент, але не бажаєте визначати повноцінну функцію в іншому місці коду.
Лямбда-функція може приймати будь-яку кількість аргументів, але повинна містити лише один вираз. Результат цього виразу повертається автоматично. Хоча лямбда-функції корисні для швидкого створення тимчасових функцій, вони мають обмеження: не можуть містити кілька операторів, присвоєнь або складної логіки, а також стають менш читабельними при надмірному використанні. Через ці обмеження лямбда-функції слід використовувати для простих завдань, а для складніших операцій віддавати перевагу звичайним функціям.
123numbers = [1, 2, 3, 4, 5] squared = list(map(lambda x: x ** 2, numbers)) print(squared)
У наведеному вище коді використовується лямбда-функція разом із функцією вищого порядку map для піднесення до квадрату кожного числа зі списку numbers. Вираз lambda x: x ** 2 визначає анонімну функцію, яка приймає один аргумент x і повертає його квадрат. Такий підхід дозволяє швидко застосувати просту операцію до кожного елемента списку без необхідності створювати окрему іменовану функцію, що робить код більш лаконічним і зосередженим, коли функція потрібна лише один раз.
123numbers = [1, 2, 3, 4, 5, 6] evens = list(filter(lambda x: x % 2 == 0, numbers)) print(evens)
У цьому прикладі використовується lambda-функція разом із filter для вибірки лише парних чисел зі списку numbers. Використання lambda-функції робить логіку фільтрації лаконічною та зрозумілою, особливо коли потрібно виконати просту перевірку без створення окремої іменованої функції.
1. Яка основна відмінність між lambda-функцією та звичайною функцією?
2. Коли слід використовувати lambda-функцію замість def?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат