Как пробросить аргументы при аннотации?
Возник вопрос, как "пробросить" аргументы в аннотацию типа переменной? Допустим есть такой класс:
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, как это исправить и как правильно проаннотировать так, если можно, что бы в других участках кода, при наведении на переменную после присваивания, можно было увидеть аргументы этого датакласса?