Python 右括号缩进

Python 右括号缩进,python,coding-style,pep8,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 及 是可以接受的,但是使用一个或另一个是否有意义,例如,

注意:不要相信原始问题中的任何内容是正确的,请转到底部进行更新


原始问题

我相信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

是可以接受的,但是使用一个或另一个是否有意义,例如,如果我以后进入C++的话,


更新

要直接设置记录,函数定义的常用样式为:

def函数,它接受长参数(
长论证1,
长参数(2):
通过#注意上面两行中的额外缩进
#或
取长参数的def函数(长参数1,
长参数(2):
通过
而对于函数调用,它是:

接受长参数的函数( 长论证1, 长论证 ) #或 函数,它接受长参数( 长论证1, 长参数(2) #或 函数,它接受长参数(长参数1, 长参数(2)
我并不特别喜欢这种风格,我只是检查了一下,它不在PEP 8中,它可能会干扰任何给定IDE折叠代码块的能力(它与我在Python中使用的代码块有关):

我希望您避免这样做,而是执行以下操作:

def function_that_takes_long_arguments(
  long_argument_1,
  long_argument_2):
    return long_argument_1

不过,无论哪种方式,列表样式都很好。

python样式指南检查器不认为这两个代码段都是可以接受的

第一种选择:

$ pep8 test_pep.py 
test_pep.py:10:5: E125 continuation line with same indent as next logical line
第二个选项(无警告):

如您所见,对于列表,两者都可以使用。但是对于函数,第二种方法是首选的,因为在第一个代码片段中,函数体缩进为前一行,这对可读性有负面影响。

我通常使用

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

这样就可以区分压痕。在最后一个参数的末尾加一个逗号,可以在以后添加新的参数,而无需更改其他行,这对于git的指责来说通常是一件好事,而且会让人感到不安。

请不要为此而失眠。做任何对你来说更清晰的事情。在
https://www.python.org/dev/peps/pep-0008/#code-布局
,我没有在函数调用的单独一行中找到尾随/结束括号。
def function_that_takes_long_arguments(long_argument_1,
                                       long_argument_2):
    return long_argument_1
$ pep8 test_pep.py 
test_pep.py:10:5: E125 continuation line with same indent as next logical line
$ pep8 test_pep.py 
$
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