Python 预期类型';列表[A]';(匹配的泛型类型';列表[_T]';),获得';列表[B]';而是在正确键入的列表上
我得到的是Python 预期类型';列表[A]';(匹配的泛型类型';列表[_T]';),获得';列表[B]';而是在正确键入的列表上,python,python-typing,Python,Python Typing,我得到的是预期类型'List[A]'(匹配的泛型类型'List[\T]'),而不是B上的'List[B]' 我如何获得正确的警告,因为很明显这些类型很好。在PyCharm中,您可以在获得警告的行上方键入“#noinspection PyTypeChecker”。这些类型不好List是不变的,这意味着List[X]不能替代List[Y],除非X和Y完全相等。类似地,A@Gulzar如果你想让它们成为列表,那么你就不能。这能回答你的问题吗? from typing import List cla
预期类型'List[A]'(匹配的泛型类型'List[\T]'),而不是B
上的'List[B]'
我如何获得正确的警告,因为很明显这些类型很好。在PyCharm中,您可以在获得警告的行上方键入“#noinspection PyTypeChecker”。这些类型不好List
是不变的,这意味着List[X]
不能替代List[Y]
,除非X
和Y
完全相等。类似地,A@Gulzar如果你想让它们成为列表,那么你就不能。这能回答你的问题吗?
from typing import List
class Base(object):
pass
class A(Base):
pass
class B(Base):
pass
a: List[A] = []
b: List[B] = []
c: List[Base] = a + b