Python: печатать: написание текста на функции не работает - PullRequest
0 голосов
/ 19 сентября 2018

У меня проблемы с получением подсказок типа для работы в следующем примере.Может кто-нибудь увидеть, что не так.

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

1 Ответ

0 голосов
/ 19 сентября 2018

Библиотека ввода будет принимать только один аргумент для типа списка

...