Python · Avançado · Português · Técnico
parâmetros de tipo
Sintaxe do Python 3.12 que declara variáveis de tipo direto na função ou classe, como def f[T](x: T), sem importar TypeVar nem herdar de Generic.
Onde usar
Aparece em código novo com tipos genéricos, como contêineres e utilitários, deixando a assinatura mais enxuta. Em code review, equipes que ainda suportam o Python 3.11 não podem usá-la.
Em código
class Pilha[T]:
def __init__(self):
self.itens: list[T] = []
def push(self, x: T) -> None:
self.itens.append(x)
def primeiro[T](xs: list[T]) -> T:
return xs[0]
print(primeiro([1, 2])) # 1Exemplos
Com parâmetros de tipo, a classe genérica fica bem mais enxuta.
Esse projeto ainda roda no 3.11, então não dá pra usar parâmetros de tipo.
Cuidado
Não funciona em versões anteriores à 3.12; nelas, continue com TypeVar e Generic.
Sinônimos
sintaxe de generics