Заставить mypy распознавать кортеж определенной длиныPython

Программы на Python
Ответить
Anonymous
 Заставить mypy распознавать кортеж определенной длины

Сообщение Anonymous »

Mypy вызывает следующую ошибку:

Несовместимый тип возвращаемого значения (получено «tuple[int | None, ...]», ожидается «tuple[int | None, int | None, int | None, int | None, int | None, int | None, int | None]») [возвращаемое значение]

Я предполагаю, что это потому, что mypy не распознает количество элементов в списке перед преобразованием в кортеж. Есть ли способ заставить mypy правильно видеть этот кортеж (а не просто добавлять игнор)?

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

T_day = int | None
T_week = tuple[T_day, T_day, T_day, T_day, T_day, T_day, T_day]

def shift_week(dayofweek: int, week: T_week) -> T_week:
week_shifted: list[T_day] = []
week_shifted.extend(week[dayofweek:])
week_shifted.extend(week[:dayofweek])
return tuple(week_shifted)  # 

Подробнее здесь: [url]https://stackoverflow.com/questions/79882151/getting-mypy-to-recognize-tuple-of-certain-length[/url]
Ответить

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

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

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

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

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