我有一个名为 Hub 的ABC类,以及一个从其继承的名为 HistoricalHub 的类。
# engine/hub.py
from abc import ABC, abstractmethod
class Hub(ABC):
@abstractmethod
def method1(self):
""""""
class HistoricalHub(Hub):
@abstractmethod
def method1:
some_real_code()
HistoricalHub 以及从 Hub 继承的所有其他类都用作另一个类的参数(我们将其称为 SimpleClass )。我正在使用提示输入,并且已经完成以下操作:
import engine.hub
class SimpleClass:
def __init__(self, hub: engine.hub.Hub):
some_real_code()
最初,我认为 HistoricalHub (或任何其他使用Hub的类)将被标识为 Hub 的实例。但是,PyCharm会发出以下警告:
预期类型为'Hub',获得了'Type [HistoricalHub]
请注意,这不是阻止代码运行的实际问题。我只是很好奇是否可以创建这种类型的输入。