如何将 return 语句拆分为多行以实现 flake8 样式

How to split a return statement in several lines to fulfill flake8 style

我有一个带有 return 语句的函数,例如:

return apple, banana, orange, pear, grape, kiwi

但它超过了flake8允许的最大字符数(示例中我只是放了一个虚拟示例),那我该怎么办呢?

我试过

return apple, banana, orange,\
    pear, grape, kiwi

return apple, banana, orange,
    pear, grape, kiwi

return apple, banana, orange,
pear, grape, kiwi

没有任何效果。最后一个被 flake8 接受但是它抛出执行错误。

非常感谢您的帮助

你 return 一个元组,所以你可以这样做:

return (
    apple,
    banana,
    orange,
    pear,
    grape,
    kiwi
)

您没有指定您看到的错误代码 -- flake8 本身没有实现任何代码,但您可能会看到来自 pycodestyle 的代码(E / W)

pycodestyle 接受以下任何一种:

def f():
    return apple, banana, orange,\
        pear, grape, kiwi
def f():
    return (
        apple, banana, orange,
        pear, grape, kiwi,
    )
def f():
    return (
        apple,
        banana,
        orange,
        pear,
        grape,
        kiwi,
    )

免责声明:我是当前的 flake8 维护者和 pycodestyle 维护者之一