Sobes.tech
Назад к вопросам
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 — это обобщённый класс, который можно использовать с любым типом.