Python 在函数末尾缩进 ): 遵循 pep8 风格?



对于示例函数声明:

def foo(
long_parameter_name_1, long_parameter_name_2 = "default value var 2",
long_parameter_name_3 = "default value var 3", long_parameter_name_4 = "default value var 4"
):

上述函数声明方法是否遵循 pep8 样式指南作为以下函数定义的修改版本,以便处理超过 80 个字符的行的参数?我发现对于具有默认值的长行来说,它更具可读性,但 pep8 风格指南没有指定这种情况。

def foo(long_parameter_name_1, long_parameter_name_2 = "default value var 2",
long_parameter_name_3 = "default value var 3", long_parameter_name_ = "default value var 4"):

PEP-8 允许两者;请参阅缩进讨论的最后一部分。但是,它还建议关键字参数中的=周围不要有空格,并且不需要对参数进行太多缩进。缩进应该匹配,但如果第一个参数位于新行上,则无需缩进到开头(之后。

def foo(
long_parameter_name_1, long_parameter_name_2="default value var 2",
long_parameter_name_3="default value var 3", long_parameter_name_4="default value var 4"
):

def foo(
long_parameter_name_1, long_parameter_name_2="default value var 2",
long_parameter_name_3="default value var 3", long_parameter_name_4="default value var 4"):

是可以接受的。


不过,我会更进一步,并建议在任何一种情况下,您将自己限制为每行一个参数。

def foo(
long_parameter_name_1,
long_parameter_name_2="default value var 2",
long_parameter_name_3="default value var 3",
long_parameter_name_4="default value var 4"
):

def foo(
long_parameter_name_1,
long_parameter_name_2="default value var 2",
long_parameter_name_3="default value var 3",
long_parameter_name_4="default value var 4"):

但偏爱第一个。(在第一种情况下,您可能还希望在最后一个参数之后包含一个可选的尾随,,以便在您从不添加或删除参数时简化差异。

最新更新