使用列表作为函数参数时的Pylint错误:处理缩进错误/错误的连续性。无法找出原因。

2024-05-16 11:16:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于派林特的问题。我收到错误“错误处理缩进”和“坏的延续”。我想知道我做错了什么。我尝试过阅读PEP8以保持与函数括号对齐,但它没有起作用。我试过了:谢谢!在

WALLACE_SP1[i] = rad_intercpt_wallace(
                                      [[K_SPECIES1[i],
                                      LAI_SPECIES1[i],
                                      SP_HEIGHT[i]],
                                      [K_SPECIES2[i],
                                      LAI_SPECIES2[i],
                                      SP_HEIGHT[i]]])[0]

WALLACE_SP1[i] = rad_intercpt_wallace(
                                      [[K_SPECIES1[i],
                                      LAI_SPECIES1[i],
                                      SP_HEIGHT[i]],
                                      [K_SPECIES2[i],
                                      LAI_SPECIES2[i],
                                      SP_HEIGHT[i]]]
                                      )[0]

WALLACE_SP1[i] = rad_intercpt_wallace([[K_SPECIES1[i], LAI_SPECIES1[i],
                                      SP_HEIGHT[i]], [K_SPECIES2[i],
                                      LAI_SPECIES2[i], SP_HEIGHT[i]]])[0]

WALLACE_SP1[i] = rad_intercpt_wallace([[K_SPECIES1[i], LAI_SPECIES1[i],
                                        SP_HEIGHT[i]],
                                        [K_SPECIES2[i], LAI_SPECIES2[i],
                                         SP_HEIGHT[i]]])[0]

Tags: 函数错误sp括号heightwallaceradpep8
3条回答

以上所有解决方案(除了Robᵩ的第二个/最后一个版本)对我来说似乎都不可读。 另一方面,这是可读的:

def rad_intercpt_wallace(arg):
    print arg

WALLACE_SP1[i] = rad_intercpt_wallace([
    [
        K_SPECIES1[i],
        LAI_SPECIES1[i],
        SP_HEIGHT[i]
    ],
    [
        K_SPECIES2[i],
        LAI_SPECIES2[i],
        SP_HEIGHT[i],
    ],
])[0]

似乎pep8没有给出任何警告。并且pylint只抱怨:

^{pr2}$

即使函数名很长,也不需要非常长的行。在

每个内部[都需要自己的一致缩进。例如,LAI_SPECIES必须与K_SPECIES对齐(因为它们都是同一列表的一部分)。在

WALLACE_SP1[i] = rad_intercpt_wallace(
    [[K_SPECIES1[i],
      LAI_SPECIES1[i],
      SP_HEIGHT[i]],
     [K_SPECIES2[i],
      LAI_SPECIES2[i],
      SP_HEIGHT[i]]])[0]

另一种选择是:

^{pr2}$

这是我找到的让pep8停止抱怨的唯一方法:

WALLACE_SP1[i] = rad_intercpt_wallace([[K_SPECIES1[i],
                                      LAI_SPECIES1[i],
                                      SP_HEIGHT[i]],
                                      [K_SPECIES2[i],
                                      LAI_SPECIES2[i],
                                      SP_HEIGHT[i]]])[0]

WALLACE_SP1[i] = rad_intercpt_wallace([[K_SPECIES1[i],
                                      LAI_SPECIES1[i],
                                      SP_HEIGHT[i]],
                                      [K_SPECIES2[i],
                                      LAI_SPECIES2[i],
                                      SP_HEIGHT[i]]]
                                      )[0]

WALLACE_SP1[i] = rad_intercpt_wallace([[K_SPECIES1[i], LAI_SPECIES1[i],
                                      SP_HEIGHT[i]], [K_SPECIES2[i],
                                      LAI_SPECIES2[i], SP_HEIGHT[i]]])[0]

WALLACE_SP1[i] = rad_intercpt_wallace([[K_SPECIES1[i],
                                      LAI_SPECIES1[i],
                                      SP_HEIGHT[i]],
                                      [K_SPECIES2[i],
                                      LAI_SPECIES2[i],
                                      SP_HEIGHT[i]]])[0]

相关问题 更多 >