TypeGuard vs TypeIs no Python: Você PRECISA Aprender Urgente! (Aula 16)

学習

Você já percebeu que o isinstance() resolve muita coisa em Python, mas não ensina nada para o type checker? Pois é, chegou a hora de conhecer os verdadeiros fiscais do sistema de tipos: TypeGuard e TypeIs.

Na Aula 16 do nosso curso de Type Hints no Python, vamos comparar lado a lado essas duas ferramentas avançadas de tipagem. Você vai entender quando usar cada uma, como funcionam em tempo de análise estática, e por que o TypeIs é considerado o sucessor natural do TypeGuard pela própria PEP 742.

Primeiro, vamos ver como o TypeGuard permite criar funções de narrowing personalizadas, mas só no caminho positivo, o famoso “happy path”, e por que isso pode ser contraintuitivo e até perigoso fora do bloco condicional.

Depois, vamos explorar o TypeIs, que traz mais segurança e consistência, funcionando nos dois caminhos (if e else) e aproveitando informações já inferidas para gerar tipos mais precisos.

Nesta aula você vai ver exemplos reais com listas, JSONs e até um mini parser de produtos que transforma dados externos em objetos tipados (PhysicalProduct e DigitalProduct).

Nesta aula da nossa playlist completa sobre Type Hints no Python, você vai aprender:

– O que são funções de Type Predicate e como criá-las.
– Como o TypeGuard faz um narrowing parcial e pode “chutar” o tipo no else.
– Por que o TypeIs é mais seguro e recomendado para a maioria dos casos.
– Diferenças práticas no comportamento do Pyright e do MyPy.
– Um exemplo real validando dados de uma API e convertendo para classes dataclass seguras.

Se você quer entender a fundo o que diferencia um mero isinstance() de ferramentas de tipagem avançada, essa aula é essencial.

E lembre-se: Type Hint é igual a Type Annotation (tipagem no Python).

Este vídeo é parte de uma playlist, essa é a DÉCIMA SEXTA aula. Segue o link da playlist para acompanhar:

Type Hints no Python: Aprenda do Jeito CERTO (Aula 1)

Link do repositório:
https://github.com/luizomf/typehints_python

Meus Cursos: https://www.otaviomiranda.com.br/
Newsletter: https://luizomf.substack.com/

Capítulos
00:00:00 – TypeGuard vs TypeIs, uma breve introdução
00:03:41 – Type Predicate Function com TypeGuard e TypeIs no Python
00:08:50 – A teoria de TypeGuard e TypeIs em detalhes
00:10:50 – Como funciona o TypeGuard?
00:15:43 – Como funciona o TypeIs?
00:19:30 – A teoria dos conjuntos, Union e Intersection
00:23:42 – Código Real, entenda TypeGuard com Pyright e MyPy
00:27:51 – Entenda TypeIs com Pyright e MyPy
00:31:20 – Quando usar TypeGuard ou TypeIs?
00:34:00 – Exemplo REAL com TypedDict e TypeGuard
00:41:00 – Exemplo REAL para TypeIs com Dataclass e TypedDict
00:50:50 – Exemplo que usei no mundo real em código Typescript

Vídeo do exemplo TypeScript: https://www.youtube.com/watch?v=TaMvD9UmYVI
Código do exemplo TypeScript: https://github.com/luizomf/tests-nextjs-vitest-playwright/blob/main/src/env/configs.ts

#Python #TypeHints #TypeGuard #TypeIs #PythonBrasil

コメント

  1. @squishy-tomato より:

    Será que rola um video sobre pyrefly e ty?

  2. @Henvoxy より:

    thumb perfeita. Like fiado.

タイトルとURLをコピーしました