编码样式 - 将括号保留在同一行还是新行?

时间:2010-03-07 08:43:10

标签: python formatting coding-style readability

假设您正在调用一个函数,为了便于阅读,显然需要将语句分解为几行。但是至少有两种方法可以做到:

你会这样做:

return render(request, template,
              {
                'var1' : value1,
                'var2' : value2,
                'var3' : value3
               }
             )

或者你愿意这样做:

return render \
(
    request, template,
    {
        'var1' : value1,
        'var2' : value2,
        'var3' : value3
    }
)

或者,请建议您自己的格式。还请列出为什么要使用特定格式以及另一个格式有什么问题的原因。

由于

4 个答案:

答案 0 :(得分:9)

Python的官方PEP-8建议第一个。

答案 1 :(得分:9)

我可能会这样做:

return render(
    request, 
    template,
    {
        'var1' : value1,
        'var2' : value2,
        'var3' : value3
    }
)

我会将括号保留在同一行,以便搜索render(。因为我觉得它更清楚。但我会把所有的论点都放在新的界限上。

答案 2 :(得分:8)

我愿意:

vars = {
    'var1' : value1,
    'var2' : value2,
    'var3' : value3,
}
return render(request, template, vars)

答案 3 :(得分:2)

第二个看起来像是从C [#+] *程序中逃脱了。反斜杠线延续是丑陋的,容易出现尾随空间的问题,当你有()或[]使用它时没有理由使用它。