ПочатиПочніть безкоштовно

Вкладені функції 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'))
Редагувати та запускати код