Назад к вопросам
Middle
1
Как реализовать дженерик (Generic) в Python?
Компании, где спрашивали
RadLab
Ответ от нейросети
sobes.tech AI
В Python дженерики реализуются с помощью модуля typing, который появился в стандартной библиотеке. Для создания обобщённых типов используют Generic и параметры типа TypeVar. Это позволяет писать функции и классы, которые работают с разными типами, сохраняя при этом подсказки типов.
Пример:
from typing import TypeVar, Generic, List
T = TypeVar('T')
class Stack(Generic[T]):
def __init__(self):
self._items: List[T] = []
def push(self, item: T) -> None:
self._items.append(item)
def pop(self) -> T:
return self._items.pop()
stack_int = Stack[int]()
stack_int.push(1)
value = stack_int.pop() # value будет типа int
Таким образом, Stack — это обобщённый класс, который можно использовать с любым типом.