Consider the following example:
with open('a.txt') as f:
pass
# Is f supposed to be defined here?
I have read the language docs (2.7) for with-statement as well as PEP-343, but as far as I can tell they don't say anything on this matter.
In CPython 2.6.5 f
does seem to be defined outside of the with-block, but I'd rather not rely on an implementation detail that could change.