Considera il seguente esempio:
with open('a.txt') as f:
pass
# Is f supposed to be defined here?
Ho letto i documenti in lingua (2.7) sia per with-statement che per PEP-343, ma per quanto ne so non dicono nulla su questo argomento.
In CPython 2.6.5 fsembra essere definito al di fuori del with-block, ma preferisco non fare affidamento su un dettaglio di implementazione che potrebbe cambiare.