【问题标题】:Python linter warning: signature doesn't match base methodPython linter 警告:签名与基本方法不匹配
【发布时间】:2020-08-03 14:51:28
【问题描述】:

我正在对我创建的一个类进行子类化,并且在子类中我覆盖了父类的一个方法。对于这个特定的方法,linter 抱怨这个实现和基本方法的实现之间的签名不匹配。在许多其他方法中,即使存在不匹配,我也没有看到它抱怨,有什么问题?为什么要匹配签名?

【问题讨论】:

  • 您能否在您继承的BaseModel 类中显示evaluate 方法的签名?

标签: python


【解决方案1】:

我以前也见过这个。假设您不希望它们匹配,例如您正在扩展该方法采用的参数,然后您可以忽略或禁止此警告。我认为它是为了警告您可能有不兼容的代码,但 IMO 在大多数情况下并不是很有帮助。

另请参阅Python Method overriding, does signature matter?,以获得有关警告可能有用的正确解释。

【讨论】:

    猜你喜欢
    • 2021-04-12
    • 2018-01-15
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    相关资源
    最近更新 更多