[Python-Dev] Announcing PEP 3136 (original) (raw)

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