[code-quality] pylint: Else clause on a loop without break statement

Ian Cordasco graffatcolmingov at gmail.com
Sun Jan 12 16:21:58 CET 2014


Woops. Sorry for the confusion. I never end up using that particular
construct so I never get it right.

On Sun, Jan 12, 2014 at 9:18 AM, Carl Crowder <carl.crowder at gmail.com> wrote:
> Ian, it's the opposite - 'else' is only triggered if *no* break statement is
> encountered.
>
>
> On 12 January 2014 16:12, Ian Cordasco <graffatcolmingov at gmail.com> wrote:
>>
>> I don't see any mesage from pylint in your email, could you post it again?
>>
>> Regardless, I think what you're disagreeing with is the language
>> specification. The documentation specifies that the `else` is only
>> triggered on breaks:
>>
>> http://docs.python.org/2/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops
>>
>> On Sun, Jan 12, 2014 at 8:57 AM, Kay Hayen <kay.hayen at gmail.com> wrote:
>> >
>> > Hello,
>> >
>> > often I write code like this:
>> >
>> > def _areConstants(expressions):
>> >     for expression in expressions:
>> >         if not expression.isExpressionConstantRef():
>> >             return False
>> >
>> >         if expression.isMutable():
>> >             return False
>> >     else:
>> >         return True
>> >
>> > That is to search in an iterable, and return based on finding something,
>> > or
>> > returning in the alternative, I specifically prefer the "else:" branch
>> > over
>> > merely putting it after the "for" loop.
>> >
>> > This triggers the above message, which I consider flawed, because as
>> > soon as
>> > there is a "raise", or "return", that should be good enough as well.
>> > Basically any aborting statement, not only break.
>> >
>> > I wanted to hear your opinion on this, pylint bug, or only in my mind.
>> >
>> > Yours,
>> > Kay
>> > _______________________________________________
>> > code-quality mailing list
>> > code-quality at python.org
>> > https://mail.python.org/mailman/listinfo/code-quality
>> _______________________________________________
>> code-quality mailing list
>> code-quality at python.org
>> https://mail.python.org/mailman/listinfo/code-quality
>
>


More information about the code-quality mailing list