Skip to content

Instantly share code, notes, and snippets.

@dunossauro
Last active March 16, 2022 19:30
Show Gist options
  • Save dunossauro/f6f827062eca8e0d73cf261dc72df00a to your computer and use it in GitHub Desktop.
Save dunossauro/f6f827062eca8e0d73cf261dc72df00a to your computer and use it in GitHub Desktop.

Propostas de aulas sobre Typing

  1. Anotação de funções - PEP-3107

    • Fundamentos da anotação de tipos
    • Sintaxe
      • Parametros
      • Retornos
    • __annotations__
    • Casos de uso
      • typing
    • É opcional!
  2. Introdução a tipagem - PEP-484

    • Teoria por trás do Type Hint - PEP-483
    • Atômicos
      • int
      • str
      • float
      • ...
    • Containers Concretos
      • list[int]
      • tuple[int, float, str]
      • set[str]
    • Valores default path: str = '.'
    • checagem com Mypy
    • Mais de um retorno ou mais de uma entrada?
      • @overload
      • Literal - PEP-586
      • Enum (para mais exemplos de Literal)
  3. Classes "importadas" e classes customizadas - PEP-484

    • Classes que importamos
      • Usar exemplos com datetime.datetime e datetime.date
      • UUID
      • datetime
      • Path
    • Classes concretas que criamos
      • Criar uma classe simples?
      • ClassVar - PEP-526
    • Classes abstratas que criamos - PEP-591
      • @final
      • Final
  4. Tipos especiais

    • Any
    • Union (3.10)
    • Optional (3.10)
    • | - PEP-604
    • NoReturn
    • Type Alias
      • TypeAlias
      • a = int | float
    • NewType
    • Tipagem e os erros
  5. Containers Abstratos

    • Introdução aos Protocolos collections.abc
      • Sequence
      • Mapping
      • ...
    • Tipos chamáveis (Callable)
  6. Estruturas com Typing

    • typing.NamedTuple - Doc
    • Dataclasses - Doc
      • Fields
        • Factory
    • TypedDict - PEP-589
  7. Tipagem Ganso - runtime

  8. Generics -

    • Variáveis de tipo TypeVar('T')
    • Generics
  9. Tipagem pato estática - PEP-544

    • Tipagem nominal vs Tipagem estrutural
    • Supports
      • SupportsAbs
      • SupportsFloat
      • ...
    • typing.Protocol
    • @runtime_checkable

?. Coisas que ainda não encontrei o lugar correto

  • cast()

??. Outras coisas que não sei onde colocar

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment