我有一个 pylint 错误:“W1113:keyword-arg-before-vararg”并且不知道如何修复它

问题描述 投票:0回答:1

我有这个代码

class BaseCompareFeatureWithDefaults(recordlinkage.base.BaseCompareFeature):
    def __init__(self, labels_left="", labels_right="", *args, **kwargs) -> None:
        super().__init__(labels_left, labels_right, *args, **kwargs)

我有这个 pylint 错误

W1113: Keyword argument before variable positional arguments list in the definition of __init__ function (keyword-arg-before-vararg)
。这意味着 pylint 在
*args, **kwargs
之后想要
self
。我不知道如何解决这个错误,我应该吗?也许我可以跳过它/禁用它?

我尝试将顺序更改为

self, *args, **kwargs, labels_left="", labels_right=""
,但如果我这样做,我会在 VS 代码中看到此消息:
Parameter cannot follow "**" parameter Pylance
并且代码不起作用。

python arguments pylint
1个回答
2
投票

命名关键字参数应位于位置可变参数之后但关键字可变参数之前,即:

def __init__(self, *args, labels_left="", labels_right="", **kwargs) -> None:
© www.soinside.com 2019 - 2024. All rights reserved.