2

我在“类别”属性的 PEP8 在线检查器中收到“行太长错误”。我的一段代码如图所示:

class A:
    __tablename__ = 'items'

    category = relationship(Category, backref=backref('items', cascade='all, delete'))
    id = Column(Integer, primary_key=True)
4

3 回答 3

2

Shai 的回答(在第一个 arg 和缩进打开括号后中断)很好,并且适合 PEP8,但如果您怀疑在以后的重构中关系函数可能有更多参数:

class A:
    __tablename__ = 'items'

    category = relationship(
        Category,
        backref=backref('items', cascade='all, delete'),
    )
    id = Column(Integer, primary_key=True)
于 2017-07-27T05:50:16.780 回答
1

怎么样

class A:
    __tablename__ = 'items'

    category = relationship(Category, 
                            backref=backref('items', cascade='all, delete'))
    id = Column(Integer, primary_key=True)
于 2017-07-27T05:47:28.603 回答
1

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')
)

我个人最常使用最后一个选项,因为它在视觉上对应于代码的嵌套结构。

于 2017-07-27T06:01:31.493 回答