我为动物的基类定义了AnimalBase。
然后定义继承了AnimalBase的Cat,Dog类。
如何注释某些返回包含猫和狗的列表的函数的返回值。
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"