У меня есть функция:
def func() -> tuple(str, list(str)):
var_a = "four"
var_b = ["one","two","three"]
return var_a, var_b
И когда я его вызываю, выдает следующую ошибку:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'type' object is not iterable
Я тоже пробовал вот так:
from typing import Tuple
def func() -> Tuple[str, list(str)]:
var_a = "four"
var_b = ["one","two","three"]
return var_a, var_b
И я столкнулся с той же ошибкой.
Как получить соответствующую аннотацию типа возвращаемого значения для этого случая?
2 ответа
Используя List[str]
, общая версия list
:
from typing import List, Tuple
def func() -> Tuple[str, List[str]]:
var_a = "four"
var_b = ["one","two","three"]
return var_a, var_b
Вместо скобок попробуйте использовать квадратные скобки ([ и ]):
def func() -> tuple[str, list[str]]:
var_a = "four"
var_b = ["one", "two", "three"]
return var_a, var_b
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.
typing
для списка кортежей и,list(str)
– это минимально воспроизводимый пример.