Zanim przeniesieni do Python 3.6 z Pythona 3.5 to działało:mypy różnice w isinstance i issubclass z pytona 3,5 do 3,6 w parametrycznych generycznych
import typing
issubclass(list, typing.List[int]) # returns True
isinstance([1, 2 ,3], typing.List[int]) # returns True
teraz w Pythonie 3.6 Oba te podnieść następujący wyjątek:
TypeError: Parameterized generics cannot be used with class or instance checks
Czy to nowe zamierzone zachowanie lub błąd? Jeśli jest to zamierzone, w jaki sposób mogę wykonać sprawdzenia powyższy kod robi w python 3.6?
Nie sądzę, że kiedykolwiek sprawdzali typy elementów, więc '[" a "," b "," c "] minąłoby' isinstance (["a", "b", "c" ], typing.List [int]) ". Wprowadzona semantyka sprawdzenia nie była przydatna. – user2357112