LINUX.ORG.RU

Python & lambda


0

0
Лямбда функции пришли в Python из языка Lisp и могут показаться необычными программисту на Си. Лямбда функции – это небольшие функции, которые создают другие функции, на своей основе. Чтобы быть более понятным, приведу такой пример: lambda a, b: a+b – вычисляет сумму двух своих аргументов. На основе функции, возвращающей lambda можно построить другие функции, например: >>> def make_incrementor(n): ... return lambda x: x + n#x – параметр, который передаётся в порождённую функцию f(x) ... >>> f = make_incrementor(42) >>> f(0) 42 >>> f(1) 43

1) А зачем оно надо? Есть примеры, где без этого никак?

2) Perl & Python - функциональные языки?

anonymous
Ну функциональные парсеры например.
anonymous
()
лямбда функции -- это анонимные функции, создавать на своей основе они никого не обязаны 1) примеров где без этого никак _нет_. но это повышает читабельность программы (особливо для тех кто к этому привык) 2) нет. это императивыные языки с элементами ФП
anonymous
()
Ну бывает удобно создать анонимную функцию прямо в месте её использования. Например при программировании графического интерфейса в каком-нибудь Bind в качестве callback использовать lambda
sigill
()
>- функциональные языки?

по идее ф-ый язык это тот, в котором при вызове функций с одинаковыми параметрами, всегда получишь одинаковые результаты. I/O ясное дело обламывается :(

Pi ★★★★★
()
Ответ на: комментарий от Pi
это называется чистый(pure) функциональный язык и функции без побочного эффекта.

btw, IO в хаскеле присутствует, хотя он заявляется, как чистый язык фп.

hateful_dead
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.