Back to questions
Senior
9
Расскажи про замыкания в Python. Как функция внутри функции использует переменные внешней функции?
Companies where asked
Tangem
Answer from AI
sobes.tech AI
В Python замыкание — это функция, которая запоминает и может использовать переменные из области видимости внешней функции, даже после того, как внешняя функция завершила выполнение.
Когда внутри функции определяется другая функция, внутренняя функция может обращаться к переменным внешней функции. Эти переменные сохраняются в специальном объекте — замыкании.
Пример:
def outer(x):
y = 10
def inner(z):
return x + y + z # Использует переменные внешней функции
return inner
f = outer(5)
print(f(3)) # Выведет 18 (5 + 10 + 3)
Здесь inner — замыкание, оно «захватывает» переменные x и y из outer. Даже после того, как outer вернула inner, эти переменные остаются доступными внутри inner.