Вкладені функції 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'))