Домой

Последняя активность

  

Безымянные функции lambda в Python

PyDeKolt avatar PyDeKolt (0) [#] (27.05.2013 / 15:58)
Помимо def в Python встречается еще один способ создания функций – это анонимные функции lambda, конструкция была позаимствована из языка программирования LISP.

Возможно вы будете достаточно редко использовать анонимные функции, но бывают случаи когда их использование более чем уместно.

Анонимными они называются потому, что в отличии от объявления def где функции явно присваивается имя по которому ее можно вызвать, lambda - выражения не содержат этого имени. Объявляются они следующим образом:

lambda <список аргументов, можно через запятую, аргументам можно задать начальные значения>: <тело функции, результат будет возвращен как при return, никаких if и подобных вещей>

lambda выражения можно присвоить переменной, это их основное преимущество.
  1. func = lambda x,y: x*y
  2. print func(2,4)
  3. # 8

В отличие от обычных функций анонимные можно использовать там, где обычные невозможно. Например присвоить элементам списка или словаря lambda-функции.
  1. L = [(lambda x: x*x), (lambda x: x*x*x), ]
  2. print L[0](5)
  3. print L[1](3)
  4. # 25
  5. # 27

* Учебник по языку Python
  Всего: 1

Зарегистрируйтесь и сможете комментировать все темы. Кнопочка вверху
Фильтр по автору
Скачать тему

В Форум

Новые вверху
waplog Рейтинг@Mail.ru
Statok.nettop-sid.ru
Яндекс.Метрика