Автор оригинала: Python Examples.
Python Lambda функция
Функция Python Lambda – это однострочная функция, тело которого является просто выражением и может принимать несколько аргументов.
В этом уроке мы сначала узнаем основы функции лямбда и во-вторых, некоторые интересные хаки, которые мы можем сделать с этими лямбдами.
Синтаксис функции лямбда
Ниже приведен синтаксис функции лямбда.
lambda arguments : expression
Вы можете назначить эту функцию лямбда в переменной. Что-то вроде в следующем фрагменте кода.
x = lambda arguments : expression
И вы можете вызвать функцию лямбда с именем переменной x. Ниже приведен пример фрагментации кода для вызова функции лямбда.
result = x(arguments)
Аргументы передаются как правило, как аргументы обычной функции, но имена функции, являющаяся переменной, мы присваиваем эту функцию лямбда.
Когда вы вызываете функцию лямбда, выражение оценивается, и возвращается оцененное значение. Итак, у вас есть аргументы, тело и оператор возврата, все в линейке. Так очень лаконично.
Пример 1: Python Lambda Функция
Ниже приводится простая функция Lambda, которая принимает номер и возвращает его квадрат.
Python Program
#lambda function square = lambda a: a*a #call lambda function result = square(6) print(result)
Выход
36
Пример 2: Функция Python Lambda – несколько аргументов
Мы уже упоминали, что функция Python Lambda может принимать несколько аргументов. В следующем примере мы определяем функцию лямбда с двумя аргументами, скажем А и B и мы будем умножить А и B Отказ
Python Program
#lambda function mul = lambda a,b: a*b #call lambda function result = mul(5,3) print(result)
Выход
15
Пример 3: Python Lambda Функция без аргументов
Ага! Вы можете определить функцию лямбда без аргументов вообще. Если бы было требование, чтобы вы создали функцию лямбда без аргументов, вы можете.
В следующем примере мы определяем функцию лямбда без аргументов, а возвращается 6 когда вызывается.
Python Program
#lambda function six = lambda : 6 #call lambda function result = six() print(result)
Выход
6
Рекурсивная функция лямбда
Вы можете разработать функцию рекурсии с помощью функции лямбда. Согласно синтаксису функции лямбда Python, все, что вам нужно, это выражение, которое оценивает одно значение для возврата. Итак, если вы можете построить рекурсивную функцию, удовлетворяющую этому критерию, у вас есть рекурсивная функция лямбда.
В следующем примере мы определили функцию лямбда, которые могут рассчитать факториал данного числа, используя рекурсию.
Python Program
#recursive lambda function factorial = lambda a: a*factorial(a-1) if (a>1) else 1 #call lambda function result = factorial(5) print(result)
Выход
120
Вернуть лямбда Функция
Функция лямбда как переменной. Итак, вы можете вернуть ламбда функцию из другой функции.
Python Program
import math #function returning lambda function def myfunc(n): return lambda a : math.pow(a, n) #lambda functions square = myfunc(2) #square = lambda a : math.pow(a, 2) cube = myfunc(3) #cube = = lambda a : math.pow(a, 3) squareroot = myfunc(0.5) #squareroot = lambda a : math.pow(a, 0.5) print(square(3)) print(cube(3)) print(squareroot(3))
Выход
9.0 27.0 1.7320508075688772
Резюме
Заключение этого учебника примеров Python, мы узнали, как определить функцию лямбда и конструктивно использовать его в своей программе с помощью примеров программ.