Намекает на тип Mypy между вызовой с разными типамиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Намекает на тип Mypy между вызовой с разными типами

Сообщение Anonymous »

У меня есть две функции, одна, которая принимает списки или строки и возвращает тип, который был вводом, и другая, которая принимает строку и вызывает первую функцию, которая используется в результате. < /p>
Упрощенный пример этого: < /p>

Код: Выделить всё

def accepts_string_or_list(inputs: str | list) -> str | list:
if isinstance(inputs, list):
return inputs + ['1']
return inputs + '1'

def accepts_string(inputs: str) -> str:
# do something to inputs string
return accepts_string_or_list(inputs)
< /code>
Mypy жалуется на самой последней строке, что «несовместимый тип возврата (gat str | list [any]», ожидаемый «str») [return-value] mypy ». Я знаю, что функция access_string 
всегда будет принимать строку, которая подразумевает, что возвращаемое значение Access_string_or_list (при использовании в access_string ) всегда будет возвращать строку. Mypy не знает этого, но как мне сделать здесь правильно работать типа? Список вместо STR . Это удалило бы сообщение об ошибке, но было бы неверным, потому что будут возвращены только строки. По этой причине я бы не хотел этого делать.

Подробнее здесь: https://stackoverflow.com/questions/767 ... rent-types
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»