[Python-Dev] accumulator display syntax

Greg Ewing greg at cosc.canterbury.ac.nz
Tue Oct 21 19:49:48 EDT 2003


Michael Hudson <mwh at python.net>:
> In particular what happens if the iteration variable is a local in the
> frame anyway? I presume that would inhibit the renaming

Why?
> but then code like 
>> def f(x):
> r = [x+1 for x in range(x)]
> return r, x
>> becomes even more incomprehensible (and changes in behaviour).

Anyone who writes code like that *deserves* to have the
behaviour changed on them!
If this is really a worry, an alternative would be to
simply forbid using a name for the loop variable that's
used for anything else outside the loop. That could
break existing code too, but at least it would break
it in a very obvious way by making it fail to compile.
Greg Ewing, Computer Science Dept, +--------------------------------------+
University of Canterbury,	 | A citizen of NewZealandCorp, a	 |
Christchurch, New Zealand	 | wholly-owned subsidiary of USA Inc. |
greg at cosc.canterbury.ac.nz	 +--------------------------------------+


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /