Описание тега with-statement

В некоторых языках есть операторы With. Оператор Python with создает новый контекст со связанным менеджером контекста. Когда контекст (блок кода) снова выходит из контекста, об этом уведомляется диспетчер контекста. Пожалуйста, используйте "common-table-expression" для конструкции SQL WITH.

На ряде языков есть Withзаявления. Pythonwithоператор создает контекст времени выполнения, определенный контекстным менеджером. Как блок кода подwith заявление введено, __enter__ хук вызывается в диспетчере контекста, и при выходе (любыми средствами, включая исключения и операторы возврата) __exit__ крючок называется.

Python предоставляет несколько стандартных менеджеров контекста. Например, файловые объекты можно открывать как диспетчер контекста, и при выходе файл автоматически закрывается.

Менеджеры контекста были определены в PEP 343.

Используйте общее-табличное-выражение для SQLWITH заявление