📊 Capítulo 13: Generics, Sets & Dicionários
Especialização em Sistemas com Python
🗺️ A Nova Sintaxe de Generics do Python 3.12 (PEP 695)
flowchart TD
subgraph LEGACY ["Sintaxe Antiga (Verborrágica / typing.TypeVar)"]
L1["T = TypeVar('T')\ndef primeiro(itens: Sequence[T]) -> T: ..."]
end
subgraph NOVO ["Nova Sintaxe PEP 695 (Concisa e Nativa)"]
N1["def primeiro[T](itens: Sequence[T]) -> T:\n return itens[0]\n(Zero importações do módulo typing / Suportado nativamente pelo interpretador!) ⚡"]
end
LEGACY -.-> |"Python 3.12+" | NOVO
style LEGACY fill:#ffebee,stroke:#d32f2f,stroke-width:2px
style NOVO fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
🎯 Slide 1: Classes Genéricas no Python 3.12
class Pilha[T]:
def __init__(self) -> None:
self._elementos: list[T] = []
def push(self, item: T) -> None:
self._elementos.append(item)
def pop(self) -> T:
return self._elementos.pop()
🎯 Slide 2: Operações Algébricas em Conjuntos (set)
uniao = a | binterseccao = a & bdiferenca = a - b-
diferenca_simetrica = a ^ b - Todas executadas em $O(1)$ médio por hashing de memória!
🎯 Slide 3: Dicionários Modernos
dictpreserva ordem de inserção garantida desde o Python 3.7.- Operadores de Fusão (PEP 584):
c = a | bea |= b. defaultdicteCounterdo módulocollectionspara contagens e agrupamentos velozes.
🔗 Navegação do Capítulo 13
| 📖 Ler Conteúdo Completo | 🧠 Fazer Quiz | 💻 Ver Exemplos | 🧩 Exercícios |
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim