gpt4 book ai didi

python - 根据 PEP 8 正确的换行格式?

转载 作者:行者123 更新时间:2023-12-01 03:19:10 25 4
gpt4 key购买 nike

根据 PEP 8,这是可以接受的(也是我过去使用过的):

result = some_function_that_takes_arguments(
'a', 'b', 'c',
'd', 'e', 'f',
)

我的问题是,这是否也适用于函数定义,例如:

def some_function_that_takes_arguments(
a, b, c,
d, e, f,
):
return a,b,c,d,e,f

我过去所做的另一个例子:

if (this_is_one_thing
and that_is_another_thing
):
do_something()

我这样做已经有一段时间了(为了保持一致性,我的所有行> 79 col都以这种方式分开),并且想知道其他人的想法是什么。

这清楚/好看吗?这符合 PEP 8 吗?

最佳答案

根据这个doc在 PEP8 上是这样。只要缩进级别为 4 个空格,将函数声明分解为多行就可以了。

Continuation lines should align wrapped elements either vertically using Python's implicit line joining inside parentheses, brackets and braces, or using a hanging indent [7]. When using a hanging indent the following should be considered; there should be no arguments on the first line and further indentation should be used to clearly distinguish itself as a continuation line.

Yes:

# Aligned with opening delimiter. 
foo = long_function_name(var_one, var_two,
var_three, var_four)

# More indentation included to distinguish this from the rest.
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)

# Hanging indents should add a level.
foo = long_function_name(
var_one, var_two,
var_three, var_four)

作为旁注,如果您发现函数签名由于参数数量而变长,请考虑将函数分解为更多原子单元(因此遵守干净的代码原则)。

关于python - 根据 PEP 8 正确的换行格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42116221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com