Back to questions
Junior — Middle
65
Применяли ли вы в своих проектах механизм TypeVar из модуля typing в Python для обеспечения типизации?
Companies where asked
Медси
Answer from AI
sobes.tech AI
Да, в проектах использовал TypeVar из модуля typing для создания обобщённых (generic) типов, что позволяет писать более универсальный и типобезопасный код.
TypeVar помогает определить параметр типа, который можно использовать в функциях или классах для указания, что разные элементы связаны одним типом, но при этом этот тип может быть любым.
Пример использования:
from typing import TypeVar, List
T = TypeVar('T') # Объявляем параметр типа
def first_element(lst: List[T]) -> T:
return lst[0]
# Функция работает с любым типом списка, сохраняя тип возвращаемого значения
nums = [1, 2, 3]
words = ['a', 'b', 'c']
print(first_element(nums)) # Выведет 1
print(first_element(words)) # Выведет 'a'
Таким образом, TypeVar улучшает читаемость и поддержку кода, особенно в больших проектах с использованием статической типизации.