[Python-ideas] for/else statements considered harmful

Stephen J. Turnbull stephen at xemacs.org
Thu Jun 7 12:50:14 CEST 2012


Devin Jeanpierre writes:
 > On Thu, Jun 7, 2012 at 4:31 AM, Yuval Greenfield <ubershmekel at gmail.com> wrote:
 > > I believe using for/else will cause you and maintainers of your
 > > code to make more mistakes.
 > 
 > I don't follow. What mistakes would people make? Why would they
 > make them?
There was a long thread about a year ago on this list, where a couple
of less experienced programmers and even a couple of people who have
long since proven themselves reliable, gave code examples that
obviously hadn't been tested.<wink/> There's a summary at:
 http://grokbase.com/t/python/python-ideas/09abg9k5fc/summary-of-for-else-threads
The reason they make such mistakes is that there's a strong
association of "else" with "if-then-else", and for many people that
seems to be somewhere between totally useless and actively misleading.
For me, there are a number of reasonable mnemonics, a couple given in
this thread, but IIRC the only idiom I found really plausible was
 def search_in_iterable(key, iter):
 for item in iter:
 if item == key:
 return some_function_of(item)
 else:
 return not_found_default


More information about the Python-ideas mailing list

AltStyle によって変換されたページ (->オリジナル) /