
On 06/11/2015 11:55 PM, Stephen J. Turnbull wrote:
Ethan Furman writes:
I would find the 'as NAME' portion very useful as long as it wasn't shadowing nor unset.
I don't understand the "not shadowing" requirement. If you're not going to create a new scope, then
from foo import *
if expr as val: use(val)
bar(val)
might very well shadow foo.val and break the invocation of bar. Is use of the identifier "val" in this context an error? Or what?
Likewise: for val in some_iterator: use(val) bar(val) will shadow foo.val and break bar; yet for loops do not create their own scopes. with open('somefile') as val: stuff = val.read() bar(val) will also shadow foo.val and break bar, yet with contexts do not create their own scopes. And let's not forget: val = some_func() bar(val) Again -- no micro-scope, and foo.val is shadowed. -- ~Ethan~