Melhores Práticas de Dicas de Tipo
Tipos devem reduzir incidentes sem afogar a equipe em cerimônia. Estas regras focam o esforço onde a análise estática previne bugs reais de produção.
Busque em todas as páginas da documentação
Tipos devem reduzir incidentes sem afogar a equipe em cerimônia. Estas regras focam o esforço onde a análise estática previne bugs reais de produção.
Any crescer ou substituições estritas se multiplicarem.list[str], não list nu. Genéricos nus derrotam a verificação.X | Y no Python 3.10+. Consistente com a base de código 3.14.collections.abc em parâmetros (Sequence, Mapping). Aceite entradas mais amplas somente leitura.TypedDict/NamedTuple para linhas JSON; dataclass para objetos de domínio. Corresponda à forma em tempo de execução.Literal e StrEnum para conjuntos fixos de strings. Previne erros de digitação no momento da verificação.Any - use object quando verdadeiramente desconhecido e depois refine. Rastreie Any com regra de lint, se possível.types-* para dependências não tipadas. requests, pyyaml, etc.warn_unused_ignores e warn_return_any. Limpe ignores obsoletos prontamente.ignore_errors globais. Quarentena com datas de expiração.typing.cast para corrigir a lógica. cast silencia apenas o verificador.isinstance / match para refinar após verificações opcionais. Padrão if x is not None.TypedDict. Esquema ou Pydantic primeiro.type: ignore for inevitável com código de erro e link de ticket.ignore_errors deve ter proprietário e data.TypeVar) quando a utilidade preserva os tipos de entrada. Não Any na entrada/saída.@overload com moderação para dependência real de assinatura. Não para dicas cosméticas.APIs públicas sim; locais triviais opcionais, a menos que mypy precise de ajuda para inferir.
Pydantic adiciona validação em tempo de execução; mantenha dicas em funções puras para cobertura mypy.
Prioridade menor que o código-fonte; digite testes quando eles esclarecerem fixtures ou prevenirem erros de copiar e colar.
Use stubs de biblioteca e dtypes precisos onde o ROI for claro; não bloqueie o lançamento por genéricos ndarray perfeitos.
O estilo 2.0 de tipos mapeados está melhorando - siga os stubs/plugins do sqlalchemy na configuração do mypy.
Reverta a substituição para o nível anterior; corrija para frente em fatias semanais, não em heroísmos.
ADR curto: escolha do verificador, cronograma rigoroso, limites Pydantic, Protocolo para portas.
Algumas equipes limitam a contagem de Any via script em CI - governança avançada opcional.
Ok para desenvolvimento; ainda é necessário um portão de CI para que colegas de equipe sem Pylance obtenham a mesma segurança.
Modelos HTTP tipados + assinaturas de função de serviço - captura a maioria dos bugs de tipo de produção precocemente.
Versões da Pilha: Esta página foi escrita para Python 3.14.0 (3.14 estável, 3.13 de manutenção), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026