|
@@ -220,3 +220,19 @@ from typing import Callable
|
|
|
def get_math_func(operation: str) -> Callable[[int, int], int]:
|
|
|
...
|
|
|
```
|
|
|
+
|
|
|
+~={green}Замыкания=~
|
|
|
+
|
|
|
+Замыкание - функция, которая находится внутри другой функции и ссылается на переменные объявленные в теле объемлющей функции (нелокальные переменные).
|
|
|
+Замыкание заставляет внутреннюю функцию сохранять состояние ее окружения при вызове.
|
|
|
+```python
|
|
|
+def make_greeter(greeting):
|
|
|
+ def greet(name):
|
|
|
+ return f"{greenting}, {name}!"
|
|
|
+ return greet
|
|
|
+
|
|
|
+greeter = make_greeter("Hello")
|
|
|
+
|
|
|
+print(greeter("World")) # Выведет "Hello, World!"
|
|
|
+print(greeter("Ivan")) # Выведет "Hello, Ivan!"
|
|
|
+```
|