Senior
Mesélj a Pythonban lévő lezárásokról. Hogyan használja egy függvény egy másik függvényen belül a külső függvény változóit?
sobes.tech MI
Válasz az MI-től
В 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.