TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #2593 4.91K
​TypeVarTuple для кортежей с разными типами данных

Допустим, мы создаём функцию convert_first_int(), которая возвращает кортеж практически неизменным, только первый элемент приводит к целочисленному типу:

from typing import TypeVarTuple

Ts = TypeVarTuple("Ts")

def convert_first_int(values: tuple[int|str|float, *Ts]) -> tuple[int, *Ts]:
return (int(values[0]), *values[1:])

print(repr(convert_first_int(("1", "2", "3"))))

TypeVarTuple представляет собой произвольный кортеж потенциально разных типов. Нам это нужно, потому что функция имеет дело только с первым элементом кортежа. Поэтому нам необходим способ выразить, что мы разрешаем любые оставшиеся типы.

(1, '2', '3')

Спасибо подписчику @Trizalio за годную тему для поста.

#лучшиепрактики
  • 👍 3
  • 🔥 1
More from @zen_of_python
  1. Oct 11, 2026Почему копия контекста не делает словарь отдельным contextvars помогает хранить request ID…
  2. Oct 11, 2026Почему короткие паузы сборщика мусора обходятся памятью В CPython подсчёт ссылок освобожда…
  3. Oct 11, 2026Как проверить, что мок заменил нужную зависимость Если service.py делает from client impor…
  4. Oct 10, 2026Post #5048
  5. Oct 10, 2026Showboat и Rodney помогают показать работу ИИ-агента Саймон Уиллисон собирает демонстрации…
  6. Oct 10, 2026Почему max_workers не ограничивает очередь задач ThreadPoolExecutor(max_workers=8) разреша…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →