如何使pylint只计算没有默认值的参数?

时间:2019-02-06 08:27:50

标签: python pylint

默认情况下,如果一个方法具有超过5个参数,则pylint失败(返回错误代码> 0)。

def my_func(a, b, c, d, e, f, g)

因此将失败。 我想保持这种行为,但允许通过默认值的函数

def my_func2(a, b, c, d=None, e='yes', f=1.0, g=None, h=True, i=10)

不要失败。

换句话说,我希望pylint只计算没有默认值的参数。 能做到吗?怎么样?参数是否有正则表达式?

注意:提高max-args在这方面无济于事,因为my_func2实际收到的参数多于my-func

1 个答案:

答案 0 :(得分:0)

经过几天的研究,我找到了解决方法。

可以为特定代码块的特定行禁用特定的pyintint检查, 如前所述 here

由于我认为有一个特定的函数可以违反too-many-arguments检查,因此我可以在函数定义后的第一行添加一条指示pylint的指令以禁用检查:

def my_func2(a, b, c, d=None, e='yes', f=1.0, g=None, h=True, i=10):
    # pylint: disable=too-many-arguments
    pass

这将禁用该错误,并且pylint检查成功完成。

虽然这是我原来的问题的解决方法,但我对这种解决方案感到满意, 因为它要求开发人员积极地说这是故意的 违反可接受的pylint准则。