Menu
Coddy logo textTech

Nested Functions

Урок 2 из 12 курса Декораторы в Python на Coddy.

Прежде чем мы перейдем к декораторам, нам нужно понять несколько важных концепций, связанных с функциями в Python.

В Python мы можем включать одну функцию в другую, что также называется вложенной функцией.

Например,

def outer_function():
    print("This is the outer function.")
    
    def inner_function():
        print("This is the inner function.")
    
    inner_function()

В этом примере outer_function содержит вложенную функцию с именем inner_function.

При вызове outer_function она сначала выведет "This is the outer function.", а затем вызовет inner_function. Затем inner_function выведет "This is the inner function."

Обратите внимание, что inner_function можно вызвать только изнутри outer_function.

Если вы попытаетесь вызвать inner_function вне outer_function, вы получите ошибку NameError, сообщающую, что inner_function не определена.

challenge icon

Задание

Легко

Напишите функцию с именем greeting_generator, которая принимает имя в качестве аргумента и возвращает приветственное сообщение, включающее это имя.

Приветственное сообщение должно генерироваться вложенной функцией с именем get_greeting, которая принимает имя в качестве аргумента и возвращает строку "Hello, [name]!".

 

Вот пример того, как должна работать функция:

>>> greeting = greeting_generator("Alice")
>>> greeting
"Hello, Alice!"

>>> greeting = greeting_generator("Bob")
>>> greeting
"Hello, Bob!"

Ограничения

  • Вы должны использовать вложенную функцию с именем get_greeting для генерации приветственного сообщения.
  • Приветственное сообщение должно включать имя, переданное в greeting_generator.

Попробуйте сами

Все уроки раздела Декораторы в Python

Потренируйтесь самостоятельно: Онлайн-компилятор Python