[Guido]
> After a fruitful discussion on python-ideas I've decided that it's fine to
> break lines *before* a binary operator. It looks better and Knuth recommends
> it.
> ...
> Therefore it is permissible to break before or
> after a binary operator, as long as the convention is consistent
> locally. For new code Knuth's style is suggested.
>
> Some examples of code breaking before binary Boolean operators::
>
> class Rectangle(Blob):
>
> def __init__(self, width, height,
> color='black', emphasis=None, highlight=0):
> if (width == 0
> and height == 0
> and color == 'red'
> and emphasis == 'strong'
> or highlight > 100):
> raise ValueError("sorry, you lose")
> if (width == 0 and height == 0
> and (color == 'red' or emphasis is None)):
> raise ValueError("I don't think so -- values are %s, %s" %
> (width, height))
> Blob.__init__(self, width, height,
> color, emphasis, highlight)
>
Note that this code still breaks a line after a binary operator (the
string formatting "%" operator in the 2nd ValueError call). But it's
perfectly clear the way it is. Good taste can't be reduced to rules
;-)
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com