Sobes.tech
Назад к вопросам
Senior
10

Расскажи про замыкания в Python. Как функция внутри функции использует переменные внешней функции?

Компании, где спрашивали
Tangem

Ответ от нейросети

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.