我在Python 3中具有以下类层次结构:
class Corpus(ABC):
__metaclass__ = ABCMeta
@staticmethod
@abstractmethod
def load(folder: str, **kwargs) -> 'Corpus':
pass
class GenMmCorpus(Corpus):
@staticmethod
def load(self, folder: str, **kwargs) -> Corpus:
...
return GenMmCorpus(corpus, dictionary, method, lemmatize, voc_size)
我使用前面的代码如下:
corpus: GenMmCorpus = GenMmCorpus.load(folder)
尽管此代码可以正常运行,但PyCharm却给了我以下提示:
Expected type 'GenMmCorpus', got 'Corpus' instead in a subclass
有人知道如何避免此警告吗?如果删除键入的'GenMmCorpus',当我尝试使用不在基类中的特定GenMmCorpus方法时,会出现另一个警告。因此,无法按以下方式将其删除:
corpus = GenMmCorpus.load(folder)