Tipagem moderna
TL;DR
Galho 5 da trilha Python: type hints do básico ao avançado —
Union/Optional, generics (TypeVar/Generic/sintaxe PEP 695), checagem estática commypy/pyright, tipos estruturados (TypedDict/Literal/NewType) e validação em runtime com Pydantic. Fase Adepto→Magus; 8 notas. Assume os Galhos 1 (Core), 3 (OO e Data Model) — especialmente a nota de ABC — e 4 (Funcional e idiomas avançados) como pré-requisito.
Sobre este galho
Python é dinamicamente tipado por natureza, mas desde a PEP 484 (2014) ganhou um sistema de type hints opcional e cada vez mais usado em produção — não pra mudar o runtime, mas pra dar a ferramentas estáticas (mypy, pyright) e bibliotecas de validação (Pydantic) informação suficiente pra pegar bugs antes de rodar o código. Este galho cobre esse sistema do zero: anotações básicas, generics, as duas famílias de ferramentas que fazem algo com essas anotações (checagem estática vs. validação em runtime), e os tipos estruturados que preenchem lacunas específicas (TypedDict pra dicts com schema, Literal pra valores fechados, NewType pra distinguir tipos “primos”). typing.Protocol e abc.ABC — as duas formas de tipagem nominal/estrutural aplicadas a classes — já foram cobertas no Galho 3 e não são repetidas aqui.
Audiência: quem já escreve Python funcional/OO confortavelmente e quer o nível de rigor de tipos esperado em times sêniores — sobretudo quem vem de linguagens estaticamente tipadas (Java, TypeScript) e estranha a ausência de erro em tempo de execução quando um tipo “errado” é passado.
Adepto
- 01 — Type hints: fundamentos e gradual typing
- [[02 - Union, Optional e o operador |02 — Union, Optional e o operador
|]] - [[03 - Generics — TypeVar, Generic e sintaxe moderna|03 — Generics:
TypeVar,Generice sintaxe moderna]] - [[04 - mypy e pyright — checagem estática na prática|04 —
mypyepyright: checagem estática na prática]] - [[05 - TypedDict, Literal, NewType e Final|05 —
TypedDict,Literal,NewTypeeFinal]] - 06 — Pydantic: validação em runtime
Magus
- [[07 - Typing avançado — overload, Self, ParamSpec|07 — Typing avançado:
overload,Self,ParamSpec]] - 08 — Capstone: tipagem moderna — recapitula o galho.
Todas as notas
TABLE fase, status FROM "03-Dominios/Tecnologia/Python/Tipagem moderna" WHERE type = "concept" SORT file.name ASCVeja também
- Trilha Python (MOC central)
- OO e Data Model — Galho 3 (Protocol/ABC, pré-requisito não repetido aqui)
- Funcional e idiomas avançados — Galho 4 (decorators genéricos tipados com
ParamSpecretomam esse galho) - CPython internals — Galho 6 (próximo)