Senior
Parlez-moi des fermetures en Python. Comment une fonction à l'intérieur d'une autre utilise-t-elle les variables de la fonction externe?
sobes.tech IA
Réponse de l'IA
В 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.