繁体   English   中英

如何打破这条线来满足PEP8要求?

[英]How can i break up this line to meet PEP8 requirements?

我在PEP8在线检查器中收到“类别”属性的“线路过长错误”。 我的代码如下所示:

class A:
    __tablename__ = 'items'

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

Shai的答案(在第一个arg后缩进以打开paren)是好的,它适合PEP8,但是如果您怀疑在以后的重构中可能对关系函数有更多的争论:

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说:

包装长行的首选方法是在括号,方括号和花括号内使用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')
)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM