默认情况下,如果一个方法具有超过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
答案 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准则。