У меня есть функции Python с этими аннотациями типа
def func_1() -> Optional[Sequence[str, List[str], str]]:
# do stuff
def func_2(a: str, b: List[str], c: str) -> None:
# do other stuff
Почему следующий код дает мне предупреждение Список ожидаемых типов [str, Any] ' получил 'str' вместо строки, в которой я вызываю func_2?
result = func_1()
func_2(result[0], result[1], result[2])
Означает ли это, что с моей проверкой типов что-то не так, или это проблема с моим кодом?
List[str, ...]
не является допустимой аннотацией, насколько мне известно... то же самое сSequence[str, List[str, ...] str]
.... что вы пытаетесь там выразить? - person juanpa.arrivillaga   schedule 15.03.2021result
. Скорее всего,result[1]
— этоstr
, а неlist
, но это неясно из того, что вы предоставили. - person Michael Ruth   schedule 15.03.2021typing.Tuple
, а неtyping.List
, который не содержит никакой информации об ожидаемой длине. - person juanpa.arrivillaga   schedule 15.03.2021Sequence[str, List[str, ...], str]
что это должно означать? - person juanpa.arrivillaga   schedule 15.03.2021Sequence
, как иList
, принимает переменную одного типа. - person juanpa.arrivillaga   schedule 16.03.2021