Вложенные функции II
Отлично! Вы только что вложили одну функцию в другую. Ещё одна интересная причина использовать вложенные функции — концепция замыкания. Это означает, что вложенная (внутренняя) функция запоминает состояние объемлющей области видимости в момент вызова. Таким образом, всё, что определено локально в объемлющей области, остаётся доступным для внутренней функции даже после завершения работы внешней.
Двигаемся дальше! В этом упражнении вы завершите определение внутренней функции inner_echo(), а затем вызовете echo() несколько раз с разными аргументами. Выполните упражнение и посмотрите, что получится!
Это упражнение является частью курса
Введение в функции Python
Инструкции к упражнению
- Заполните заголовок внутренней функции: укажите имя
inner_echo()и один параметрword1. - Завершите функцию
echo()так, чтобы она возвращалаinner_echo. - Функция
echo()уже вызвана с аргументом 2, а результат присвоен переменнойtwice. Ваша задача — вызватьecho()с аргументом 3 и присвоить результирующую функцию переменнойthrice. - Нажмите Отправить ответ, чтобы вызвать
twice()иthrice()и вывести результаты.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define echo
def echo(n):
"""Return the inner_echo function."""
# Define inner_echo
def ____(____):
"""Concatenate n copies of word1."""
echo_word = word1 * n
return echo_word
# Return inner_echo
# Call echo: twice
twice = echo(2)
# Call echo: thrice
# Call twice() and thrice() then print
print(twice('hello'), thrice('hello'))