[Python-ideas] for/else syntax
gerald.britton at gmail.com
Thu Oct 1 16:21:18 CEST 2009
There is consistency between the use of "else" in for, while and try:
The "else" suite is executed when the for/while/try statement is
exhausted -- that is, is not terminated abnormally with a break,
return, exception, etc.
Once I got it, I GOT IT! and have found it quite handy. I don't think
we should talk about changing this syntax for for/while without
including the try statement. I do believe, though, that the idea is a
non-starter since it would break existing code.
As for the "intuitive" argument, that's a red herring. One person's
"intuitive" is another's "obscure." The word is overused and
undefined in any objective, measurable sense. Steve Ballmer likes it
since he thinks it gives him a leg up on the competition. That should
be enough for us to eschew its use.
On Thu, Oct 1, 2009 at 9:54 AM, Arnaud Delobelle <arnodel at googlemail.com> wrote:
> 2009/10/1 Antti Rasinen <ars at iki.fi>:
>> I must say that calling for ... else "somewhat unintuitive" is the
>> understatement of the year. The analogy with if ... else leads further
>> astray than Odysseus.
>> The feature itself is not bad. It's just that it is misnamed.
>> I don't want the feature to be removed or even renamed (at least before
>> Python 4). But the feature *is* badly named and unintuitive.
> I agree. I use it from time to time and I used to have to look up the docs
> every time, because I couldn't remember wheteher the 'else:' clause
> meant 'if did break' or 'if didn't break'.
> I solved this problem by stopping thinking about it as while-else or
> for-else, but rather as break-else.
> Python-ideas mailing list
> Python-ideas at python.org
More information about the Python-ideas