[Python-ideas] for/except/else syntax
Arnaud Delobelle
arnodel at googlemail.com
Fri Oct 9 09:22:58 CEST 2009
2009/10/9 Gerald Britton <gerald.britton at gmail.com>:
> The thing is, if you read the documentation, it is not misleading. It
> does just what it says it does. The problem Guido identified, is that
> too many folks don't read the documentation, but try to figure it out
> by reading examples. Small wonder they get confused!
I read the docs as well. In fact, I used to read the docs *every
time* I used the for-else construct. To me, for-else used to be
confusing because although I knew very well that the else clause was
about whether the loop was broken or not, I could never remember which
of the two it was.
It was one of these things that I couldn't learn because although I
knew the dichotomy, I couldn't figure out which half of it the 'else:'
referred to. It's a bit like the difference between the noun 'bow'
which describes the device that throws arrows and the noun 'bow' which
refers to a movement you make in the presence of royalty. I know how
to pronounce them both, I just can't remember which one is which (I'm
not a native english speaker)!
That's why I've come to think of for-else as break-else. It makes it
clear to me that the else clause is executed when the loop *didn't*
break.
--
Arnaud
More information about the Python-ideas
mailing list