Как я могу разбить эту строку для удовлетворения требований PEP8?

Я получаю «Прямую слишком длинную ошибку» в онлайн-контроле PEP8 для атрибута «category». Моя часть кода выглядит так:

class A: __tablename__ = 'items' category = relationship(Category, backref=backref('items', cascade='all, delete')) id = Column(Integer, primary_key=True) 

Как насчет

 class A: __tablename__ = 'items' category = relationship(Category, backref=backref('items', cascade='all, delete')) id = Column(Integer, primary_key=True) 

Ответ Шая (перерыв после первого аргумента и отступ для открытия парса) хорош и соответствует PEP8, но если вы подозреваете, что может быть больше аргументов функции отношений в более позднем рефакторинге:

 class A: __tablename__ = 'items' category = relationship( Category, backref=backref('items', cascade='all, delete'), ) id = Column(Integer, primary_key=True) 

PEP8 говорит:

Предпочтительным способом обертывания длинных строк является использование продолженного продолжения строки Python в скобках, скобках и фигурных скобках.

В разделе « Отступы» приводятся несколько примеров возможностей. Как вы на самом деле это зависит от вашего вкуса.

Мои фавориты:

 # if you need to save lines: category = relationship(Category, backref=backref('items', cascade='all, delete')) # if you need it more structured: category = relationship( Category, backref=backref('items', cascade='all, delete') ) # if you have space and want a good overview: category = relationship( Category, backref=backref('items', cascade='all, delete') ) 

Я лично чаще всего использую последний вариант, потому что он визуально соответствует структуре вложенности кода.