Lambda functions (also called anonymous functions) are tiny functions that have no name and only have one expression as their body.
In Python they are defined using the lambda keyword:
lambda <arguments> : <expression>
The body must be a single expression. Expression, not a statement.
This difference is important. An expression returns a value, a statement does not.
The simplest example of a lambda function is a function that doubles that value of a number:
lambda num : num * 2
Lambda functions can accept more arguments:
lambda a, b : a * b
Lambda functions cannot be invoked directly, but you can assign them to variables:
multiply = lambda a, b : a * b
print(multiply(2, 2)) # 4
The utility of lambda functions comes when combined with other Python functionality, for example in combination with map(), filter() and reduce().
Lessons in this unit:
| 0: | Introduction |
| 1: | Functions |
| 2: | ▶︎ Lambda functions |
| 3: | Nested functions |
| 4: | Recursion |
| 5: | Closures |
| 6: | Objects |
| 7: | Classes |
| 8: | Polymorphism |
| 9: | Operator overloading |