eolas/Programming_Languages/Python/Syntax/Lambdas_in_Python.md

38 lines
1,022 B
Markdown
Raw Normal View History

2023-02-15 15:31:31 +00:00
---
categories:
- Programming Languages
tags: [python]
---
# Lambdas in Python
In Python, anonymous functions like arrow-functions in JavaScript (`() => {}`) are immediately invoked and unnamed. They are called lambdas.
Whilst they are unnamed, just like JS, the value they return can be stored in a variable. They do not require the `return` keyword.
They are most often used unnamed with the functional methods [map, filter](/Programming_Languages/Python/Syntax/Map_and_filter_in_Python.md) and reduce.
2023-02-15 15:31:31 +00:00
Here is the two syntaxes side by side:
```js
2023-02-17 11:02:50 +00:00
// JavaScript
2023-02-15 15:31:31 +00:00
const double = (x) => x * x;
```
```py
2023-02-17 11:02:50 +00:00
# Python
2023-02-15 15:31:31 +00:00
double = lambda x: x * x
```
Here is a lambda with multiple parameters:
```py
func = lambda x, y, z: x + y + z
print(func(2, 3, 4))
# 9
```
> Lambdas obviously enshrine functional programming paradigms. Therefore they should be pure functions, not mutating values or issueing side effects. For example, it would be improper (though syntactically well-formed) to use a lambda to `print` something