Как работает with statement?

Junior
346 просмотров
AFK Offer AI

with statement — это менеджер контекста, гарантирующий выполнение cleanup-кода. with open("f.txt") as f: — файл закроется даже при исключении. Под капотом вызывается __enter__ при входе и __exit__ при выходе (включая исключения). __exit__ получает информацию об исключении и может его подавить, вернув True. Можно использовать несколько менеджеров: with open(a) as f1, open(b) as f2. Это замена try/finally, но чище и надёжнее.

Следующий вопрос

Как работает mock в Python?