Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: Python, type hints, tuple, ellipsis, typing

Как в аннотациях типов указать, что tuple содержит произвольное количество элементов одного типа (Tuple[str, ...])?

Проверяет знание аннотации типов для кортежей с переменным числом однотипных элементов в Python.

Короткий ответ

Для указания кортежа с произвольным количеством элементов одного типа используется синтаксис Tuple[str, ...] из модуля typing. Многоточие означает, что элементов может быть любое число, но все они должны быть строкового типа. Это полезно, когда точная длина кортежа неизвестна, но известен тип элементов.

Длинный ответ

Аннотация кортежа с переменным числом элементов

В Python для аннотации типов кортежей, содержащих произвольное количество элементов одного типа, используется конструкция Tuple[тип, ...] из модуля typing. Многоточие (...) указывает, что кортеж может иметь любую длину, но все элементы должны соответствовать указанному типу.

Пример использования

from typing import Tuple

def process_items(items: Tuple[str, ...]) -> None:
    for item in items:
        print(item)

# Корректные вызовы:
process_items(("a", "b"))
process_items(("x",))
process_items(())

# Ошибка типизации:
process_items((1, 2))  # int не соответствует str

Где применяется

  • Функции, принимающие переменное количество однотипных аргументов, упакованных в кортеж.
  • API, где кортеж используется как неизменяемая последовательность фиксированного типа, но с неизвестной длиной.
  • Совместимость с существующим кодом, где кортежи используются вместо списков для иммутабельности.

Вывод

Используйте Tuple[тип, ...] когда нужно аннотировать кортеж с произвольным числом элементов одного типа. Это улучшает читаемость кода и помогает статическим анализаторам (mypy, Pyright) выявлять ошибки типов.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    3

Навыки

  • Python

    Python

Ключевые слова

#Python

#type hints

#tuple

#ellipsis

#typing

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.