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

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to