Dzen.ru Video Downloader

The easiest way to download Dzen.ru video, music, thumbnail without watermark or logo

Python Russian

29 1 неделю назад

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

TIP! Right-click and select "Save link as..." to download.

Loading...
Рассмотрим что такое контекстный менеджер в Python, для чего он нужен и как можно его написать самому. Этот вопрос не редко задают на собеседованиях.

Контекстный менеджер это удобный способ инкапсулировать логику работы с каким то ресурсом try-except-finally, в том числе гарантировать освобождение ресурса, его закрытие. Например закрывать файл, бд, соединение с сетью при выходе из контекста. Многие ресурсы в python уже имеют менеджеры контекста, например для работы с файлами.

Особенности:
1) если пишем менеджер через contextlib то используем yield возвращающий ровно 1 значение (наш ресурс)
2) если пишем менеджер через класс, то используем return в методе __enter__
3) если у какого-либо ресурса уже есть контекстный менеджер, то лучше работать через него
4) используем контекстный менеджер с помощью конструкции WITH

Почитать подробно:
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

Присоединяйтесь к помощи каналу, будет интересно)
✔️Бусти https://boosty.to/python_russian/donate
✔️Юмани 410011506612886

Будь первым везде и всегда, включай уведомления о новых выпусках 🔔


Смотри там где удобно🤩
✔️ https://vk.com/python_russian
✔️ https://boosty.to/python_russian

✔️ https://www.youtube.com/c/PythonRussian
✔️ https://t.me/python_russian

✔️ https://dzen.ru/python_russian
✔️ https://rutube.ru/channel/24346352/

#Python #PythonRussian #with