关于python:如何使用延伸线过度缩进视觉缩进?

How to use continuation line over-indented for visual indent?

我正在努力修复这段代码,以使其符合PEP8的指导方针。 我试过用反斜杠打破线,然后用一组括号括起来。 此外,我确保第二条线位于第一右支架位置之后。

1
2
3
    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 continuation line over-indented for visual indent.


我猜你得到了一条"延续线并没有区别于下一条逻辑线"。 解决方案是将第二行移动另一个缩进 -

1
2
3
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语句中的实际块开始可能并不明显。 你可以说这看起来并没有那么好,但事实就是如此。