Контекстный менеджер и 2 способа его написания. Конструкция WITH
Рассмотрим что такое контекстный менеджер в Python, для чего он нужен и как можно его написать самому. Этот вопрос не редко задают на собеседованиях. Контекстный менеджер это удобный способ инкапсулировать логику работы с каким то ресурсом try-except-finally, в том числе гарантировать освобождение ресурса, его закрытие. Например закрывать файл, бд, соединение с сетью при выходе из контекста. Многие ресурсы в python уже имеют менеджеры контекста, например для работы с файлами. Особенности: 1) если пишем менеджер через contextlib то используем yield возвращающий ровно 1 значение (наш ресурс) 2) если пишем менеджер через класс, то используем return в методе __enter__ 3) если у какого-либо ресурса уже есть контекстный менеджер, то лучше работать через него 4) используем контекстный менеджер с помощью конструкции WITH Если есть непреодолимое желание и возможность поддержать канал то есть кошелек Юмани 410011506612886 Почитать подробно: https://docs.python.org/3/library/contextlib.html?#contextlib.contextmanager https://docs.python.org/3/reference/datamodel.html#with-statement-context-managers https://docs.python.org/3/reference/compound_stmts.html#the-with-statement https://docs.python.org/3/library/stdtypes.html#context-manager-types #PythonRussian #Python #pycharm #Питон #Программирование
Похожие видео
Показать еще