Особенность работы логических операторов with и del в Python заключается в следующем:
Оператор with предназначен для облегчения работы с ресурсами, которые требуют корректного освобождения после использования. 4 Он автоматически обрабатывает открытие и закрытие ресурсов, а также закрывает часть приложения, с которой больше не нужно работать. 3 Например, по выходу из блока кода с помощью with автоматически закрывается файл, даже если при его чтении произошло исключение. 4
Оператор del вызывает метод деструктора del у объекта, но вызов этого метода не всегда гарантируется. 2 Он вызывается только тогда, когда счётчик ссылок на объект достигает нуля. 2 Это может произойти в конце текущей функции или в конце программы или никогда в случае циклических ссылок. 2