我相信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
)
答案 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。