/
IvanKhabarov
/
python
Обзор
Документация
Войти
/
IvanKhabarov
/
python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Lections/Lesson9/Closure/task_closure_3.py
21 строка
1 KB
Ivan-Khabarov
added new tasks
24 сен 2024, 20:04
24 сен 2024, 20:04
950cd31
Код
Авторство
О чём код?
from typing import Callable def add_one_str(a: str) -> Callable[[str], str]: def add_two_str(b: str) -> str: return a + ' ' + b return add_two_str print(add_one_str('Hello')('world!')) # Результат получили такой же, но код работает иначе. # ● Функция add_one_str принимает на вход один параметр в качестве начала # строки и возвращает локальную функцию add_two_str. Обратите внимание на # отсутствие круглых скобок. Функцию передаём , а не вызываем. # ● Функция add_two_str принимает вторую часть строки, соединяет её с первой # и возвращает ответ. # ● При вызове функций значения указывается в отдельных круглых скобках. # Первое попадает в параметр a. Далее часть строки: add_one_str('Hello') # возвращает функцию add_two_str и уже она вызывается и принимает # аргумент во вторых скобках. # Благодаря передаче одной функции другой мы можем создавать замыкания.