НачатьНачать бесплатно

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