Узор раскладывает на верстаке карту машинных залов и отмечает огоньками всё, что нашёл открытым: шлюз в третьем зале, журнал насосной, кабель к старому прессу. Элодий смотрит на карту дольше, чем на твой конвейер вчера.
Ты пользуешься with с урока 23: with open(path) as file:, и файл закрывается сам. Как он это делает и что значит «сам», если программа упала посреди блока, ты пока не спрашивал. А это та же история, что со шлюзами: ресурс, который надо вернуть, и исключение, которое может пролететь между «взял» и «вернул».
Сегодня ты разберёшь with до двух методов, научишься писать менеджеры классом и генератором, закрывать неизвестное заранее число ресурсов и решать, какие исключения глотать. А на этапе соберёшь свой contextlib: первый инструмент арсенала, которым будут пользоваться все залы.
урок из курса
Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.