Я определяю AnimalBase для базового класса для животных.
А затем я определяю класс Cat, Dog, который наследует AnimalBase.
Как комментировать возвращаемое значение некоторых функций, которые возвращают список, включая кошек и собак.
from typing import TypeVar, List
from abc import ABC
class AnimalBase(ABC):
pass
Animal = TypeVar("Animal", bound=AnimalBase)
class Cat(AnimalBase):
pass
class Dog(AnimalBase):
pass
def get_animals(cls) -> List[Animal]:
return [Cat(), Dog()]
Я получил следующую ошибку.
t.py:21: error: List item 0 has incompatible type "Cat"; expected "Animal"
t.py:21: error: List item 1 has incompatible type "Dog"; expected "Animal"