On 2016-03-03 08:29, Ben Finney wrote: > Skip Montanaro <skip.montan...@gmail.com> writes: >> Running flake8 over some code which has if statements with >> multiple conditions like this: >> >> if (some_condition and >> some_other_condition and >> some_final_condition): >> play_bingo() > > For this reason I prefer to indent all continuation lines 8 spaces:: > > if ( > some_condition and > some_other_condition and > some_final_condition): > play_bingo()
This is generally what I do with two modifications, (1) putting the conjunction at the beginning makes it easier for me to read, and (2) putting the close-paren and colon on their own line to make diffs cleaner when adding/removing conditions: if ( some_condition and some_other_condition and some_additional_condition ): play_bingo() making my diffs look like if ( some_condition and some_other_condition and some_additional_condition + and some_new_condition ): play_bingo() instead of if ( some_condition and some_other_condition - and some_additional_condition): + and some_additional_condition + and some_new_condition): play_bingo() which is harder to follow, IMHO. Though, as a side note, if I have lots of "and" or "or" conjunctions, I tend to use any() or all() on a list of them: if all([ some_condition, some_other_condition, some_additional_condition, + some_new_condition, ]): play_bingo() which I happen to find even tidier (though it might come at a minor performance penalty, having not tested it since it's never mattered in my code) -tkc -- https://mail.python.org/mailman/listinfo/python-list