[Python-Dev] Announcing PEP 3136
Terry Reedy
tjreedy at udel.edu
Thu Oct 1 01:47:21 CEST 2009
Yuvgoog Greenle wrote:
> I like how python has a minimalistic and powerful syntax (-1 for the
> break ___ PEP).
>
> Also, I really dislike the for/else ambiguity "butterflies".
Properly understood, no ambiguity.
while c:
x()
is equivalent to hypothetical
label z:
if c:
x()
goto: z
So
while c:
x()
else:
y()
is equivalent to
label 1:
if c:
x()
goto: 1
else"
y()
The else clause fires (once) if and when the if/while condition
evaluates as false. Break and continue are restricted *unconditional*
goto statements, and so *cannot* trigger an else clause.
In for loops, the implied condition is 'there is another item in the
collection represented by the iterable'.
For any more, move to another list.
Terry Jan Reedy
More information about the Python-Dev
mailing list