Контекстный менеджер и 2 способа его написания. Конструкция WITH

Рассмотрим что такое контекстный менеджер в Python, для чего он нужен и как можно его написать самому. Этот вопрос не редко задают на собеседованиях. Контекстный менеджер это удобный способ инкапсулировать логику работы с каким то ресурсом try-except-finally, в том числе гарантировать освобождение ресурса, его закрытие. Например закрывать файл, бд, соединение с сетью при выходе из контекста. Многие ресурсы в python уже имеют менеджеры контекста, например для работы с файлами. Особенности: 1) если пишем менеджер через contextlib то используем yield возвращающий ровно 1 значение (наш ресурс) 2) если пишем менеджер через класс, то используем return в методе __enter__ 3) если у какого-либо ресурса уже есть контекстный менеджер, то лучше работать через него 4) используем контекстный менеджер с помощью конструкции WITH Почитать подробно: #with-statement-context-managers #the-with-statement #context-manager-types Присоединяйтесь к помощи каналу, будет интересно) ✔️Бусти Будь первым везде и всегда, включай уведомления о новых выпусках 🔔 #Python #PythonRussian #with #context #contextlib
Back to Top