Как пробросить аргументы при аннотации?

Возник вопрос, как "пробросить" аргументы в аннотацию типа переменной? Допустим есть такой класс:

T = TypeVar('T', object)


class A():
    def __init__(self) -> None:
        self.__dataclass: Callable[[Dict], T] = None
        self.data: List[Dict] = None

    @property
    def dataclass(self) -> Callable[[Dict, Any], T]:
        return self.__dataclass

    @dataclass.setter
    def dataclass(self, value: Callable[[Dict, Any], T]) -> None:
        self.__dataclass = value

В следующей записи Pylint ругается:

 return [asdict(self.dataclass(**i)) for i in self.data]

self.dataclass is not callablePylintE1102:not-callable (property) dataclass: ( Dict, Any ) -> T@dataclass

говоря, что объект dataclass вообще то не Callable, но в аннотации указано Callable, как это исправить и как правильно проаннотировать так, если можно, что бы в других участках кода, при наведении на переменную после присваивания, можно было увидеть аргументы этого датакласса?


Ответы (0 шт):