On 10/18/12 04:33, wxjmfa...@gmail.com wrote: > I use a "double indentation". > >>>> if 'asdf' and 'asdf' and 'asdf' \ > ... 'asdf' and 'asdf' and \ > ... 'asdf' and 'asdf': > ... print('do if') > ... s = 'asdf' > ... ss = 'asdf' > ... > do if >>>> if looks_like_it_might_be_spam( > ... some_longer_variables, > ... here_and_here, and_here_also): > ... logger.notice("might be spam") > ... move_to_spam_folder(some_longer_variables) > ... update_spam_statistics(here_and_here)
I lean towards double-indent as well, though I favor parens/brackets vs. trailing backslashes. My conditions usually go one-per-line, too. I also tend to put my closing paren+colon on a stand-alone line: if ( something or something_else or yet_other_stuff ): do_thing1() do_thing2() It's not quite as nice with pure parens, working better with function-calls. However, it makes my git/svn diffs easier to read when conditions get added/removed because only that line (usually) changes, rather than having the noise of the paren moving around. In 2.5 and later, I like to write that as if any([ something, something_else, yet_other_stuff, ]): do_thing1() do_thing2() where each item is uniform (one trailing comma, rather than one item being special without a comma/or/and) so I don't have the diff noise for "or"/"and" bouncing around either. Making my diffs easy to read is pretty important to me. -tkc PS: and in such cases, yes, I often alphabetize my conditions too as long as the order doesn't matter. Just a little CDO. That's OCD, but in alphabetical order the way the letters should be :-) -- http://mail.python.org/mailman/listinfo/python-list