Um gerenciador de contexto é um objeto que define lógica de setup e teardown, usado com a instrução with. Ele garante que a limpeza (fechamento de arquivos, liberação de locks, reversão de transações) aconteça automaticamente — mesmo se um erro ocorrer.
Por que isso importa
f = ()
data = f.read()
process(data)
f.close()
() f:
data = f.read()
process(data)
