[Python-Dev] accumulator display syntax
Michael Hudson
mwh at python.net
Wed Oct 22 07:03:18 EDT 2003
More information about the Python-Dev mailing list
Wed Oct 22 07:03:18 EDT 2003
- Previous message: [Python-Dev] accumulator display syntax
- Next message: [Python-Dev] accumulator display syntax
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Greg Ewing <greg at cosc.canterbury.ac.nz> writes: > 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? Well, because then you have the same name for two different bindings. >> 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! This was not my impression of the Python way. I know I'd be pretty pissed if this broke my app. I have no objection to breaking the above code, just to breaking it silently! Having code *silently change in behaviour* (not die with an expection, post a warning at compile time or fail to compile at all) is about an evil a change as it's possible to contemplate, IMO. > 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. This would be infinitely preferable! Cheers, mwh -- I like silliness in a MP skit, but not in my APIs. :-) -- Guido van Rossum, python-dev
- Previous message: [Python-Dev] accumulator display syntax
- Next message: [Python-Dev] accumulator display syntax
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list