empty clause of for loops

Rob Gaddi rgaddi at highlandtechnology.invalid
Mon Mar 21 13:53:15 EDT 2016


Sven R. Kunze wrote:

> On 16.03.2016 16:02, Tim Chase wrote:
>> On 2016-03-16 15:29, Sven R. Kunze wrote:
>>> I would re-use the "for-else" for this. Everything I thought I
>>> could make use of the "-else" clause, I was disappointed I couldn't.
>> Hmm...this must be a mind-set thing.  I use the "else" clause with
>> for/while loops fairly regularly and would be miffed if their behavior
>> changed.
>>
>> Could I work around their absence?  Certainly.
>>
>> Does it annoy me when I have to work in other languages that lack
>> Python's {for/while}/else functionality?  You bet.
>
> I can imagine that. Could you describe the general use-case? From what I 
> know, "else" is executed when you don't "break" the loop. When is this 
> useful?
>

When you've got a sequence in which you only care about the first hit,
either because you only want one or because you know from everything
else going on in the program there can only be one.

for fn in self._containedfunctions:
  if fn.__doc__ is not None:
    self.__doc__ = fn.__doc__
    break
else:
  raise NoDocstringError("were you raised in a barn?")

-- 
Rob Gaddi, Highland Technology -- www.highlandtechnology.com
Email address domain is currently out of order.  See above to fix.



More information about the Python-list mailing list