右括号的缩进

时间:2014-06-01 23:59:08

标签: python coding-style pep8

我相信PEP8风格指南说明了两者

some_kind_of_list = [
    1, 2, 3,
    4, 5, 6
    ]

def function_that_takes_long_arguments(
    long_argument_1,
    long_argument_2
    ):
    return long_argument_1

some_kind_of_list = [
    1, 2, 3,
    4, 5, 6
]

def function_that_takes_long_arguments(
    long_argument_1,
    long_argument_2
):
    return long_argument_1

是可以接受的,但使用其中一个是否有意义,例如,如果我以后再使用C ++?

修改

道歉,对于一个函数,PEP8样式指南实际上说的是:

something = function_that_takes_long_arguments(
    long_argument_1,
    long_argument_2
)

3 个答案:

答案 0 :(得分:2)

pep8 python样式指南检查器认为两个片段都不可接受。

第一个选项:

$ pep8 test_pep.py 
test_pep.py:10:5: E125 continuation line with same indent as next logical line

第二个选项(无警告):

$ pep8 test_pep.py 
$

如您所见,对于列表,可以同时使用两者。但对于该函数,第二种方法是首选方法,因为在第一个片段中,函数体缩进为前一行,并对可读性产生负面影响。

答案 1 :(得分:1)

我并不特别关心这种风格,我只是检查过它,它不在PEP 8中,它可能会干扰任何给定的IDE崩解代码块的能力(它确实如此)与我在Python工作中使用的那个):

def function_that_takes_long_arguments(
    long_argument_1,
    long_argument_2
):
    return long_argument_1

我宁愿你避免它,而是做以下事情:

def function_that_takes_long_arguments(
  long_argument_1,
  long_argument_2):
    return long_argument_1

def function_that_takes_long_arguments(long_argument_1,
                                       long_argument_2):
    return long_argument_1

但是无论如何,列表样式可能都很好。

答案 2 :(得分:0)

我通常会使用

some_kind_of_list = [
    1, 2, 3,
    4, 5, 6,
]

def function_that_takes_long_arguments(
    long_argument_1,
    long_argument_2,
):
    return long_argument_1

这样缩进就可以区分了。在最后一个参数的末尾加上一个逗号,可以在以后添加新的args而不更改其他行,这通常是git-blaming目的的好事,并使less clutter in diffs