@last7

Как в Python type hints указать тип в однострочном выражении?

def fn1(stream: BinaryIO = sys.stdin.buffer):
    for line in stream:
        line = line.decode('utf-8').replace(' ', '')  # <- error
        x, y = line.strip().split('|')  # <- error
        print(x, y)

Ошибка:
Incompatible types in assignment (expression has type "str", variable has type "bytes")


mypy думает, что line до сих пор байты, хотя мы задекодили их, как ему подсказать что это строка, но не плодя при это конструкции добавляющее лишние строки ака

line = line.decode('utf-8')
line = line.replace(' ', '')
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
@bbkmzzzz
line: str = line.decode('utf-8').replace(' ', '')  # <- error
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы