
Guido van Rossum wrote:
At Google we use the following rule (from http://google-styleguide.googlecode.com/svn/trunk/pyguide.html#Indentation):
Yes: # Aligned with opening delimiter foo = long_function_name(var_one, var_two, var_three, var_four)
I cringe whenever I see that. If people are going to bother lining things up other than at 4-space indents, they should at least line them up in a visually attractive place. The delimiter should surround the arguments, not line up with them: foo = long_function_name(var_one, var_two, var_three, var_four) although the effect may be spoiled if you're reading this in a non-monospaced font. This is analogous to the way that professional typesetters use handing punctuation: http://desktoppub.about.com/od/typelayout/ss/hangingquotes.htm "Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules." compared to: "Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules." On the other hand, there's a good argument for not spending the time to neatly line up blocks of code (other than at the usual multiples of four spaces), whether it is to the delimiter or not. It's the same argument against doing this: fee_fi_fo_fum = "something" # Align the equals foo = "something else" # and/or the hashes. When actively changing code lined up like that, you can easily spend more time aligning things than programming. I have a hard time reconciling the advice in PEP 8 against such alignments with the current suggestion. -- Steven