[Python-ideas] for/else syntax
rrr at ronadam.com
Sat Oct 3 18:19:17 CEST 2009
Yuvgoog Greenle wrote:
> Document it as much as you want but the "else" doesn't hint or clue as
> to whether it catches breaks or is skipped by them.
> The next problem's gonna be at midnight when you're reading code and
> asking yourself "hmmm, for, blah blah, else, hmm oh yeah, else-break,
> so this else occurs whenever there's a break."
True, and that is part of the other 20% I expect the documentation would't
The only solution to that that I can think of is to change the esle's in
for and while loops to for/then and while/then in Python 5.0.
It might be doable, and if enough people want it, then just maybe...
> On Sat, Oct 3, 2009 at 6:27 PM, Ron Adam <rrr at ronadam.com> wrote:
>> Nick Coghlan wrote:
>>> Ron Adam wrote:
>>>> Nick Coghlan wrote:
>>>>> Nick Coghlan wrote:
>>>>> For a loop with no break statements the else clause will *always* be
>>>>> executed, hence using the clause is completely redundant - the code it
>>>>> contains might as well be dedented and placed inline at the same level
>>>>> as the loop header.
>>>> The loop could have a "return", "raise", or be inside a "try/except"
>>>> instead of having a "break".
>>> As I've said elsewhere in this thread, while the else clause won't be
>>> executed in those cases, neither will any code that occurs immediately
>>> after the loop statement. Accordingly, using the else clause is
>>> unnecessary and rather misleading - just writing the extra code after
>>> the loop would be much clearer.
>>> The number one thing I have learned from this thread is the fact that
>>> the else clause only makes sense when used in conjunction with a break
>>> statement and the fact that this construct isn't regularly documented
>>> and explained as for/break/else and while/break/else is the major
>>> barrier to understanding what it does.
>> Ahh, Ok, I agree. Documenting them as for/break/else and while/break/else
>> would probably reduce 80% of the confusion people have with it.
>> Python-ideas mailing list
>> Python-ideas at python.org
More information about the Python-ideas