summaryrefslogtreecommitdiff
path: root/PYTHON/Контекстные менеджеры.md
diff options
context:
space:
mode:
Diffstat (limited to 'PYTHON/Контекстные менеджеры.md')
-rw-r--r--PYTHON/Контекстные менеджеры.md8
1 files changed, 8 insertions, 0 deletions
diff --git a/PYTHON/Контекстные менеджеры.md b/PYTHON/Контекстные менеджеры.md
new file mode 100644
index 0000000..f685d3b
--- /dev/null
+++ b/PYTHON/Контекстные менеджеры.md
@@ -0,0 +1,8 @@
+Контекстные менеджеры позволяют задать поведение при работе с конструкцией with: при входе и выходе из блока. Это упрощает работу с ресурсами в части их захвата и освобождения; транзакциями, когда нужно либо полностью закончить транзакцию, либо откатить ее целиком.
+
+Простейшей функцией, использующей данный принцип, является функция open. Каждый раз, когда мы открываем файл, нам необходимо его закрыть, чтобы вытолкнуть выходные данные на диск (на самом деле Python вызывает метод close автоматически, но явное его использование является хорошим тоном).
+
+Чтобы каждый раз не вызывать метод close, мы можем воспользоваться контекстным менеджером функции open, который автоматически закроет файл после выхода из блока.
+
+![[Pasted image 20250501031423.png]]
+