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 не определена.
Задание
ЛегкоНапишите функцию с именем 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