【发布时间】:2020-01-29 16:01:28
【问题描述】:
考虑以下代码示例:
class BaseExtractor(object, metaclass=abc.ABCMeta):
@abc.abstractmethod
def extract(self, interval, *args, **kwargs):
raise NotImplementedError
class ChildExtractor(BaseExtractor):
def extract(self, interval, variants, anchor, fixed_len=True, **kwargs):
pass
为什么 PyCharm 告诉我 ChildExtractor.extract() 与 BaseExtractor.extract() 不匹配?
我开始认为我只是犯了一些非常愚蠢的错误......
编辑:
class ChildExtractor(BaseExtractor):
def extract(self, interval, variants, anchor, *args, fixed_len=True, **kwargs):
pass
这会导致同样的错误。
【问题讨论】:
-
大概是因为 Base extract() 接受任意数量的位置参数,但 Child extract() 中没有 *args。
-
尝试将 *args 添加到 ChildExtractor 的提取方法中。
-
感谢您的提示。不幸的是,这仍然给出了同样的错误。
标签: python python-3.x pycharm