Розглянемо наступний приклад:
with open('a.txt') as f:
pass
# Is f supposed to be defined here?
Я прочитав мовні документи (2.7) для with-statement, а також PEP-343, але, наскільки я можу сказати, вони нічого не говорять з цього приводу.
У CPython 2.6.5 f, здається, визначається поза блоком with, але я волію не покладатися на деталі реалізації, які можуть змінитися.