On Thu, Jul 07, 2005 at 03:03:35PM -0400, Phillip J. Eby wrote: > At 02:48 PM 7/7/2005 -0400, Tim Peters wrote: > >[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! > > > >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; > > Interesting; I usually intentionally write "else" clauses intending to > *clarify* the code. That is, I often use it in cases where it's not > strictly necessary, e.g.: > > for thing in something: > if blah: > return thing > else: > return None > > Because to me this clarifies that 'return None' is what happens if the loop > "fails". I use else similarly, for defensive programming. for (thing) in searchlist: if (matches(thing)): keeper = thing break else: raise ValueError("No thing matches()") I can't say I use it for much else, if I really want a default I do found = None for (thing) in searchlist: if (matches(thing)): found = None break That could end with 'else: found = None' to assign a default but I like the default to come first for readability. -Jack
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4