У меня проблемы с получением подсказок типа для работы в следующем примере.Может кто-нибудь увидеть, что не так.
2-й и 3-й пример отлично работает.Первый сбой при запуске
#python 3.6
from typing import List, Tuple
# line 5 below where error occurs
def func(x: List[int, str]) -> int:
return 1
a = func([1, "a"])
# OK
def func2(x: Tuple[int, str]) -> int:
return 1
b = func2((1, "a"))
# OK
def func3(x: List[Union[str, int]]) -> int:
return 1
c = func3((1, "a"))
Вот трассировка стека.Я не могу понять, что не так.
Traceback (most recent call last):
File "C:scratch/scratch2.py", line 5, in <module>
def func(x: List[int, str]) -> int:
File "C:\Miniconda3\lib\typing.py", line 682, in inner
return func(*args, **kwds)
File "C:\Miniconda3\lib\typing.py", line 1152, in __getitem__
_check_generic(self, params)
File "C:\Miniconda3\typing.py", line 662, in _check_generic
("many" if alen > elen else "few", repr(cls), alen, elen))
TypeError: Too many parameters for typing.List; actual 2, expected 1