С Руководство по стилю для кода Python :
Предпочтительным способом переноса длинных строк является использование подразумеваемого продолжения строки в Python внутри скобок, скобок и скобок. Длинные строки можно разбить на несколько строк, заключив выражения в скобки. Их следует использовать вместо использования обратной косой черты для продолжения строки.
Обратные слеши могут все еще быть подходящими время от времени. Например, длинные множественные операторы with не могут использовать неявное продолжение, поэтому допустимы обратные слеши:
with open('/path/to/some/file/you/want/to/read') as file_1, \
open('/path/to/some/file/being/written', 'w') as file_2:
file_2.write(file_1.read())
Еще один такой случай - с утверждениями assert.
Удостоверьтесь, чтобы сделать отступ для продолжения строки соответствующим образом. Предпочтительное место для разбивки бинарного оператора - после оператора, а не перед ним. Некоторые примеры:
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)
РЕДАКТИРОВАТЬ: PEP8 теперь рекомендует противоположное соглашение (для прерывания в бинарных операциях), используемое математиками и их издателями для улучшения читабельности.
Стиль Дональда Кнута: до , бинарный оператор выравнивает операторы по вертикали, тем самым уменьшая нагрузку на глаз при определении того, какие элементы добавляются и вычитаются.
С PEP8: должен ли разрыв строки стоять перед или после двоичного оператора? :
Дональд Кнут объясняет традиционное правило в своей серии «Компьютеры и набор текста»: «Хотя формулы внутри абзаца всегда ломаются после двоичных операций и отношений, отображаемые формулы всегда ломаются перед двоичными операциями» [3].
Следуя традиции математики, обычно получается более читаемый код:
# Yes: easy to match operators with operands
income = (gross_wages
+ taxable_interest
+ (dividends - qualified_dividends)
- ira_deduction
- student_loan_interest)
В коде Python допускается разрыв до или после двоичного оператора, если соглашение согласовано локально. Для нового кода предлагается стиль Кнута.
[3]: Книга TeXBook Дональда Кнута, стр. 195 и 196