Python typing - унаследованный класс
У меня есть класс ABC с именем Hub и класс, который наследуется от него, под названием 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]
Обратите внимание, что это не фактическая проблема, которая препятствует выполнению кода. Мне просто любопытно, можно ли создать такую типизацию.