Quando usar Callback Protocol ou Callable no Python? (Aula 13)

学習

Chegou a hora de explorar os Callback Protocols, um recurso poderoso que leva a tipagem estática do Python para outro nível.

Você já conhece o Callable, mas ele tem limites: não consegue expressar nomes de parâmetros, argumentos keyword-only ou assinaturas muito complexas. É aí que entra o Callback Protocol: um contrato tipado via __call__ que te dá precisão absoluta sobre como funções e callbacks devem ser usados.

Nessa aula, vamos começar do simples e evoluir até casos bem avançados:

– Diferença entre Callable e Callback Protocol.
– Como expressar argumentos keyword-only que Callable não consegue.
– Uso de TypeVar para criar callbacks genéricos (com entradas e saídas dinâmicas).
– Erros de tipagem comuns que o Pyright/Mypy pegam (nomes de parâmetros e tipos errados).
– Como usar overloads em Callback Protocols para criar dispachers tipados, capazes de escolher funções diferentes dependendo dos argumentos.
– Exemplo prático de um dispatcher para o datetime, que decide entre strptime, fromtimestamp ou o construtor de datetime baseado no tipo de entrada.

Essa aula é fundamental para você que quer dominar tipagem avançada e entender como callbacks podem ser modelados de forma explícita e segura.

Este vídeo é parte de uma playlist, essa é a DÉCIMA TERCEIRA 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 – Introdução aos callback protocols no Python 3.13
00:01:00 – Os problemas do Callable
00:03:30 – Criando seu primeiro callback protocol
00:09:43 – TypeVar com Callback Protocols no Python
00:18:00 – Callback Protocol com overloads complexos e dispacher
00:40:00 – Concluindo o exemplo mais complexo da sua vida

#Python #TypeHints #Callable #Protocols #Python3

コメント

  1. @otaviomiranda より:
  2. @alexsud8509 より:

    prof da uma olhadinha nos primeiros 5 minutos não da pra entender nada

  3. @Matheus-lk9lh より:

    Prof, essas aulas estão no curso de python da Udemy também?

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