pythonpycharm类型暗示与基类?[重复]

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

这里的基类实际上是一个抽象类,提供了基本的方法和类型提示,子类用相同的参数覆盖它们。

我尝试了下面的代码,想让字典中的值。mp 提示这些基本的方法,但它不工作。

from typing import Dict

class Base:
    pass

class A(Base):
    pass

class B(Base):
    pass


mp: Dict[str, Base] = {
    "A": A,
    "B": B
}

Pycharm IDE警告说 预期类型为'Dict[str, Base]',得到'Dict[str, Union[A, B]]'。.

我不知道正确的方法是什么

python pycharm type-hinting
1个回答
0
投票

正如上面的朋友@MaxNoe所提到的,我应该使用下面的代码。

from typing import Dict, Type

class Base:
    pass

class A(Base):
    pass

class B(Base):
    pass


mp: Dict[str, Type[Base]] = {
    "A": A,
    "B": B
}
© www.soinside.com 2019 - 2024. All rights reserved.