классе, через тайпинги вернуть тип ребенка.
Вот код, который поясняет задачу:
class Base:
def __init__(self, a):
self.a = a
@classmethod
def to_list(cls, list_of_dict: list): # --> вот как тут вернуть тип ребенка?
return [cls(**d) for d in list_of_dict]
class A(Base):
@property
def b(self):
return self.a * 2
res = A.to_list([{"a": 1}, {"a": 3}])
print(res[1].b) # требуется PyCharm научить понимать, что res[1] имеет тип A
Как мне для метода to_list написать тайпинг, который будет типом ребенка? Вернее List[ChildType]. В данном примере должен возвращаться -> List[A]
Дженерик метод же
to_dict(cls: T, ...)->List[T]
Обсуждают сегодня