PEP8悬挂缩进规范

Rus*_*pov 8 python pep8

关于悬挂缩进的PEP 8:

使用悬挂式缩进时,应采用以下注意事项; 第一行应该没有参数,应该使用进一步的缩进来明确区分自己作为延续线.

是否有关于"子参数"的明确文档?例如:

some_method(argument_one, argument_two, argument_three=[
    'parameter_one',
    'parameter_two',
    'parameter_three',
    ])
Run Code Online (Sandbox Code Playgroud)

相反:

some_method(
    argument_one,
    argument_two,
    argument_three=[
        'parameter_one',
        'parameter_two',
        'parameter_three',
        ]
    )
Run Code Online (Sandbox Code Playgroud)

最好只链接到官方讨论.

Ale*_*ith 8

从PEP 8的"其他建议"部分:

通常不鼓励使用复合语句(同一行上的多个语句).

考虑到这一建议,您的第二个示例可能更符合PEP 8样式指南,因为它避免了在同一行上复合方法调用和列表构造.第二个例子也更容易阅读.


Lar*_*old 5

我意识到这个问题已有数年之久,但我想分享我的想法以及对我有用的方法,特别是因为我在法律上是盲目的.(我特别针对浅嵌套,并尽可能简化和读取我的函数调用.)

为了避免像这样的潜在棘手的可读性情况,我实际上会预先定义列表(或任何创建复杂,混乱的函数调用的项目)作为变量,明确命名为某种形式的指示它是临时的:

# Build temp argument to avoid messy function call.
arg3_tmp = [
    'parameter1',
    'parameter2',
    'parameter3',
]
some_method(argument1, argument2, arg3_tmp)
Run Code Online (Sandbox Code Playgroud)