Мы указываем абстрактный класс и его реализацию следующим образом:
from abc import ABC
class Base(ABC):
...
class Type1(Base):
def __init__(self, var1: str):
...
, затем мы пытаемся использовать его таким образом
from typing import Dict
constructors: Dict[str, Base]= {'type1': Type1}
constructors['type1']("") # Error here
Но мы получаем ошибкув нашей IDE, которая говорит, что Base
не вызывается - это правда.Как указать, что значения нашего словаря являются потомками класса Base
, которые являются вызываемыми?