Лямбда-функция в Python |
||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2022-01-02 08:44 Python lambdas - это небольшие, анонимные, суб-синтаксические работы, которые более ограничены, но короче, чем обычные функции Python. В этой статье мы увидим все о лямбде. Мы обсудим и постараемся ответить на следующий вопрос о лямбде:
Лямбда - это концепция не только в Python, она используется в других языках программирования, таких как Java, C #, C ++ и т. д. Концепция лямбда в языках программирования пришла из вычислительной математики. Откуда появилась лямбда История лямбда началась еще в 30-х годах прошлого века. Алонзо Черч, наиболее известный своим лямбда-исчислением, тезисом Черча – Тьюринга, был американским математиком и логиком, формализовавшим лямбда-исчисление. Функциональные языки берут свое начало в математической логике и лямбда-исчислении, в то время как ключевые языки программирования используют модель вычислений на основе состояний, разработанную Аланом Тьюрингом. Две вычислительные модели, лямбда-исчисление и машины Тьюринга, можно преобразовать в одну. Это сходство известно как гипотеза Черча-Тьюринга. Функциональные языки, такие как Haskell и Lisp, наследуют лямбда-исчисление, но такие языки, как Python или C, наследуют императивное программирование. Первоначально Python не был функциональным языком, но на более поздних этапах он принимает несколько функциональных концепций. Я могу подробнее рассказать об истории лямбда, но это не наша основная тема для обсуждения. Итак, перейдем к следующей теме. Что такое лямбда-функция Лямбда-функции - это анонимные функции в Python. Лямбда-функции похожи на обычные функции. Разница между обычной функцией и лямбда-функцией заключается в том, что они могут быть определены без имени, но обычные функции определяются с помощью ключевого слова def. Ключевое слово lambda используется для определения анонимной или лямбда-функции. Если мы сравним лямбда-функцию и обычную функцию, то,
В приведенном выше коде показана лямбда-функция, которая дает произведение двух переменных x и y. В приведенном выше примере x - это переменная, которая будет хранить возвращаемое значение лямбда-выражения. Части лямбда-выражения. Ключевое слово - лямбда. Аргументы - x и y. Выражение - x * y Мы можем передать аргументы функции, заключив функцию и ее аргумент в круглые скобки: Ниже приведен пример передачи аргументов в одной строке. Вы также можете написать лямбду без имени переменной. Итак, мы поняли, что лямбда-функцию можно писать без имени и переменной. Как использовать лямбда-функцию До сих пор я излогал теоритические сведения о лямбда, поэтому мы разберемся, как использовать лямбда, с помощью примеров. Пример 1 Напишите программу для вычисления экспоненты с помощью лямбда-функции. Чтобы решить приведенный выше пример, я создал очень красивую визуализацию, чтобы понять процесс. Вы можете решить это таким образом:
Я взял другие значения, но это не проблема. Теперь я хочу обсудить здесь еще одну очень важную вещь. Лишь немногие программисты обсуждают это. Для этого я беру другой пример. Сначала разбираемся в коде.
Это потому, что сама лямбда возвращает объект функции. В приведенном выше примере лямбда просто возвращает объект функции и место в памяти, где он хранится. И вывод, который мы получаем на консоли, - это то место. Теперь я внесу некоторые изменения, чтобы получить желаемый результат. Расшифровка кода: Теперь я получил то, что хочу от лямбда-выражения, но есть еще один результат - «Нет». Теперь, когда я запускаю код, моя внешняя функция печати пытается вызвать лямбда-функцию, а внутренняя функция вызова вызывает переменную имени. Итак, внутренняя печать дает мне строку, а внешняя печать возвращает объект из лямбда-функции. Теперь он дает мне правильный результат, который мне нужен обоими способами. Посмотрите, насколько напряженной была эта задача - напечатать оператор с использованием лямбда. Здесь вам нужно понять, когда использовать лямбда, а когда избегать. Теперь я напишу тот же код с обычной функцией. Насколько это просто? Когда следует избегать лямбда-функции Итак, нам нужно избегать лямбда для простых задач и понимать использование лямбда. Когда мы использовали лямбда-функцию, мы не использовали имя функции, и не было необходимости явно вызывать лямбда-функцию, поэтому лямбда называется анонимной функцией. Для обычной функции мы определяем имя функции print_line, и там также есть тело, но в случае лямбда-функции тела не было. Это была одинарная линия. Вот некоторые моменты против использования лямбда-функции в Python:
Альтернативы лямбда
Понимание списков - лучшая альтернатива лямбда. В некоторых случаях лямбда-выражение используется с функциями map (), reduce () и filter (), но то же самое может быть выполнено с пониманием списка вместе с циклом for. Теперь вы можете сами подумать, как и когда использовать лямбда-функции. Я надеюсь, что эта статья поможет новичку понять введение лямбда. Источник: dev-gang.ru Комментарии: |
|