[Python-Dev] Chaining try statements: eltry?

Guido van Rossum gvanrossum at gmail.com
Thu Jul 7 20:54:49 CEST 2005


> [Guido, on {for,while}/else]
> ...
> > The question remains whether Python would be easier to learn without
> > them. And if so, the question would remain whether that's offset by
> > their utility for experienced developers. All hard to assess
> > impartially!

[Tim saves the day]
> That's what I'm here for.  I like loop "else" clauses, but have to
> admit that (a) I rarely use them; (b) most of the time I use them, my
> control flow is on the way to becoming so convoluted that I'm going to
> rewrite the whole function soon anyway; and, (c) I've often misread
> code that uses them, mentally attaching the "else" to a nearby "if"
> instead.
> 
> I also suspect that if they weren't in the language already, a PEP to
> introduce them would fail, because
> 
>     still_looking = True
>     some loop:
>         if found it:
>             still_looking = False
>             break
>     if still_looking:
>         # what would have been in the "else" clause
> 
> is clear and easy to write without it.

OTOH I don't particularly like code that requires flag variables; they
often make me squirm because the same condition (flag) is tested
multiple times where it could be tested just once if more
sophisticated flow control (e.g. an else clause :) was available.

How would a PEP to *remove* this feature fare today?

Unhelpfully,

-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-Dev mailing list