【问题标题】:How to use continuation line over-indented for visual indent?如何使用过度缩进的延续线进行视觉缩进?
【发布时间】:2014-03-02 18:55:10
【问题描述】:

我很难尝试修复这段代码以使其符合 PEP8 的准则。我试过用反斜杠打破这条线,然后用一组括号括起来。此外,我确保第二行位于第一个右括号之后。

    if (len(self._stools[origin]) > 0 and len(self._stools[dest]) and
        self.top_cheese(origin).size > self.top_cheese(dest).size):
        raise IllegalMoveError

因此,每次我在这段代码上运行 pep8.py 时都会得到:

TOAHModel.py:94:14:E127 延续线过度缩进以进行视觉缩进

【问题讨论】:

    标签: python pep8


    【解决方案1】:

    我猜您得到的是“续行无法与下一个逻辑行区分开来”。解决方案是将第二行移动另一个缩进 -

    if (len(self._stools[origin]) > 0 and len(self._stools[dest]) and
            self.top_cheese(origin).size > self.top_cheese(dest).size):
        raise IllegalMoveError
    

    原因是self.top_cheese(origin).sizeraise IllegalMoveError 处于相同的缩进级别,这对读者来说可能很困难,因为 if 语句在哪里结束以及 if 语句中的实际块开始的位置可能并不明显。您可以争辩说这看起来并没有好多少,但事实就是如此。

    【讨论】:

    • 感谢您非常清楚的解释!它现在通过了 PEP8! :)
    • 现在看起来self._stools[origin] ... self.top_cheese(dest).size) 是一个表达式,它是len 的参数。 =/
    • 嘿,我肯定会争辩说它看起来并没有好多少!
    猜你喜欢
    • 2014-03-23
    • 2020-01-14
    • 2015-11-25
    • 2014-05-26
    • 2015-05-30
    • 2013-03-04
    • 2017-05-24
    • 1970-01-01
    • 2022-08-10
    相关资源
    最近更新 更多