Замыкание — функция, которая запоминает переменные из окружающего scope, даже когда этот scope завершился. Внутренняя функция «захватывает» переменные внешней. В Python замыкания захватывают по ссылке, не по значению — классическая ловушка с циклами: lambda в цикле захватит последнее значение переменной. Фикс: аргумент по умолчанию lambda x=x. Замыкания — основа декораторов, callback-ов, фабричных функций. Проверить: func.__closure__.
Что такое closure (замыкание)?
Middle
268 просмотровAFK Offer AI
Что такое Lock в threading?