Pular para o conteúdo

Trilha de estudo

Trilha Python: tudo o que estudar, tópico por tópico

Avaliação abrangente de Python cobrindo desde fundamentos até tópicos de nível especialista, incluindo programação assíncrona, metaclasses e internos do CPython.

Resposta curta

Para aprender Python, percorra 6 módulos e 49 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos e siga para Estruturas de Dados e POO e Design. Use o mapa como checklist, ou meça seu nível e estude só o que falta.

6
módulos
49
tópicos
45
min para avaliar

O que você vai estudar

Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.

1 · Fundamentos9 tópicos
  • Sintaxe Python

    Regras básicas de sintaxe Python, indentação, comentários e estrutura de programas

    Objetivos

    • Escrever código Python sintaticamente válido
    • Compreender as regras de indentação

    Conceitos-chave

    • indentação
    • comentários
    • continuação de linha
    • ponto e vírgula
    • instrução pass
  • Variáveis e Tipos de Dados

    Atribuição de variáveis, nomenclatura, tipos primitivos (int, float, str, bool, None) e conversão de tipos

    Objetivos

    • Explicar a tipagem dinâmica
    • Converter entre tipos corretamente

    Conceitos-chave

    • tipagem dinâmica
    • type()
    • isinstance()
    • conversão de tipos
    • None
    • mutabilidade
  • Fluxo de Controle

    if/elif/else, laços for, laços while, break, continue, match/case

    Objetivos

    • Escrever lógica condicional correta
    • Utilizar laços de forma eficiente com itertools

    Conceitos-chave

    • if/elif/else
    • laços for
    • laços while
    • break/continue
    • range()
    • enumerate()
    • zip()
    • match/case
  • Funções

    Definição de funções, argumentos, valores de retorno, escopo, *args/**kwargs e lambda

    Objetivos

    • Definir funções com diversos tipos de argumentos
    • Explicar as regras de escopo do Python

    Conceitos-chave

    • def
    • return
    • argumentos padrão
    • *args/**kwargs
    • lambda
    • escopo (LEGB)
    • docstrings
    • funções de primeira classe
  • Operações com Strings

    Métodos de string, formatação (f-strings, .format), fatiamento e codificação

    Objetivos

    • Manipular strings com métodos nativos
    • Utilizar f-strings de forma eficaz

    Conceitos-chave

    • f-strings
    • .format()
    • fatiamento
    • split/join
    • strip()
    • replace()
    • codificação/decodificação
  • Manipulação de Arquivos e I/O

    open(), gerenciadores de contexto para arquivos, leitura e escrita de JSON/CSV/YAML, pathlib e arquivos binários

    Objetivos

    • Ler e escrever arquivos de forma segura
    • Analisar formatos de dados estruturados

    Conceitos-chave

    • open()
    • gerenciadores de contexto para arquivos
    • leitura/escrita de JSON
    • leitura/escrita de CSV
    • leitura/escrita de YAML
    • pathlib
    • arquivos binários
  • Estruturas de Dados e Algoritmos

    Arrays, listas encadeadas, tabelas hash, pilhas, filas, árvores, ordenação, busca e complexidade

    Objetivos

    • Analisar a complexidade de tempo e espaço de algoritmos
    • Escolher estruturas de dados adequadas para diferentes problemas

    Conceitos-chave

    • arrays e listas
    • listas encadeadas
    • tabelas hash
    • pilhas e filas
    • árvores binárias
    • algoritmos de ordenação
    • algoritmos de busca
    • complexidade de tempo
  • Conversão de Tipos

    Conversão explícita e implícita de tipos, funções de casting, regras de coerção e armadilhas comuns

    Objetivos

    • Converter entre tipos Python de forma segura
    • Prever o resultado de conversões implícitas e explícitas de tipos

    Conceitos-chave

    • int()
    • float()
    • str()
    • bool()
    • casting implícito vs explícito
    • regras de coerção de tipos
    • erros de casting
  • Expressões Lambda

    Sintaxe lambda, funções anônimas, map/filter/reduce, ordenação com lambda e estilo funcional

    Objetivos

    • Escrever expressões lambda concisas para operações inline
    • Decidir quando lambda é apropriado vs uma função nomeada

    Conceitos-chave

    • sintaxe lambda
    • funções anônimas
    • map/filter/reduce
    • lambda vs def
    • ordenação com lambda
    • limitações do lambda
    • estilo funcional
2 · Estruturas de Dados5 tópicos
  • Listas e Tuplas

    Operações com listas/tuplas, métodos, fatiamento, desempacotamento e tuplas nomeadas

    Objetivos

    • Escolher entre listas e tuplas
    • Utilizar fatiamento e desempacotamento

    Conceitos-chave

    • métodos de lista
    • imutabilidade de tupla
    • fatiamento
    • desempacotamento
    • sorted()
    • namedtuple
    • desempenho de lista vs tupla
  • Dicionários e Conjuntos

    Operações com dicionários, operações com conjuntos, defaultdict, OrderedDict e hashability

    Objetivos

    • Utilizar dicionários para busca de dados
    • Compreender os requisitos de hashability

    Conceitos-chave

    • métodos de dict
    • operações com conjuntos
    • hashability
    • dict comprehensions
    • .get()
    • .setdefault()
    • desempacotamento de dict (**)
  • Módulo Collections

    defaultdict, Counter, deque, ChainMap e contêineres especializados

    Objetivos

    • Escolher o tipo de coleção adequado para cada caso de uso

    Conceitos-chave

    • defaultdict
    • Counter
    • deque
    • ChainMap
    • OrderedDict
    • namedtuple
  • Comprehensions

    Comprehensions de lista, dict e set, comprehensions aninhadas e expressões geradoras

    Objetivos

    • Reescrever laços como comprehensions
    • Saber quando comprehensions prejudicam a legibilidade

    Conceitos-chave

    • list comprehension
    • dict comprehension
    • set comprehension
    • comprehension aninhada
    • expressão geradora
    • comprehension condicional
  • Expressões Regulares

    Módulo re, match/search/findall, grupos, lookahead/lookbehind, compile e substituição

    Objetivos

    • Escrever e depurar expressões regulares
    • Escolher entre regex e métodos de string

    Conceitos-chave

    • módulo re
    • match/search/findall
    • grupos
    • lookahead/lookbehind
    • re.compile
    • substituição
3 · POO e Design5 tópicos
  • Classes e Herança

    Definição de classes, __init__, herança, super(), MRO, atributos de classe vs atributos de instância

    Objetivos

    • Projetar hierarquias de classes
    • Compreender MRO e super()

    Conceitos-chave

    • __init__
    • self
    • herança
    • super()
    • MRO
    • atributos de classe vs atributos de instância
    • herança múltipla
  • Métodos Mágicos

    Métodos dunder: __repr__, __str__, __eq__, __hash__, __len__, __getitem__ e protocolos

    Objetivos

    • Implementar protocolos Python via métodos dunder

    Conceitos-chave

    • __repr__
    • __str__
    • __eq__/__hash__
    • __len__
    • __getitem__
    • __contains__
    • __iter__
    • sobrecarga de operadores
  • Padrões de Design

    Padrões comuns em Python: Singleton, Factory, Strategy, Observer e Iterator

    Objetivos

    • Aplicar padrões de design comuns de forma idiomática em Python

    Conceitos-chave

    • Singleton
    • Factory
    • Strategy
    • Observer
    • Iterator
    • padrão Decorator vs @decorator
  • Princípios SOLID

    Responsabilidade única, Aberto/Fechado, Substituição de Liskov, Segregação de interface e Inversão de dependência

    Objetivos

    • Identificar violações SOLID e refatorar adequadamente

    Conceitos-chave

    • Responsabilidade Única
    • Aberto/Fechado
    • Substituição de Liskov
    • Segregação de Interface
    • Inversão de Dependência
    • ABC
  • Dataclasses

    Decorador @dataclass, field(), dataclasses congeladas, __post_init__, herança e slots=True

    Objetivos

    • Criar dataclasses para dados estruturados com mínimo boilerplate
    • Utilizar as opções frozen e slots para imutabilidade e desempenho

    Conceitos-chave

    • decorador @dataclass
    • função field()
    • dataclasses congeladas
    • __post_init__
    • herança de dataclass
    • slots=True
    • comparação e ordenação
4 · Python Avançado7 tópicos
  • Closures e Escopo

    Closures, variáveis livres, palavra-chave nonlocal e functools.partial

    Objetivos

    • Explicar o que uma closure captura
    • Evitar armadilhas de late binding

    Conceitos-chave

    • closure
    • variáveis livres
    • nonlocal
    • late binding
    • functools.partial
    • objetos cell
  • Decoradores

    Decoradores de função, decoradores de classe, @wraps, decoradores parametrizados e empilhamento

    Objetivos

    • Escrever decoradores com e sem argumentos
    • Compreender o uso de wraps()

    Conceitos-chave

    • @decorator
    • functools.wraps
    • decoradores parametrizados
    • decoradores de classe
    • ordem de empilhamento de decoradores
  • Geradores e Iteradores

    yield, funções geradoras, expressões geradoras, itertools e avaliação preguiçosa

    Objetivos

    • Utilizar geradores para processamento eficiente em memória
    • Encadear geradores

    Conceitos-chave

    • yield
    • yield from
    • expressão geradora
    • itertools
    • avaliação preguiçosa
    • StopIteration
    • __iter__/__next__
  • Async / Await

    asyncio, corrotinas, loop de eventos, geradores assíncronos e padrões aiohttp

    Objetivos

    • Escrever I/O concorrente com asyncio
    • Evitar armadilhas comuns de async

    Conceitos-chave

    • async def
    • await
    • asyncio.gather
    • loop de eventos
    • gerenciador de contexto assíncrono
    • gerador assíncrono
    • asyncio.Queue
  • Gerenciadores de Contexto

    Instrução with, __enter__/__exit__, contextlib e gerenciadores de contexto personalizados

    Objetivos

    • Implementar gerenciadores de contexto para limpeza de recursos

    Conceitos-chave

    • __enter__
    • __exit__
    • contextlib.contextmanager
    • contextlib.suppress
    • gerenciadores de contexto aninhados
  • Metaclasses

    type(), __new__, __init_subclass__, programação com metaclasses e fluxo de criação de classes

    Objetivos

    • Explicar quando metaclasses são apropriadas
    • Rastrear o fluxo de criação de classes

    Conceitos-chave

    • type()
    • __new__
    • __init_subclass__
    • metaclass=
    • ordem de criação de classes
    • __prepare__
  • GIL (Global Interpreter Lock)

    Propósito do GIL, impacto em threading, CPU-bound vs I/O-bound, liberação do GIL e alternativas

    Objetivos

    • Explicar por que o GIL existe e seu impacto na concorrência
    • Escolher entre threading e multiprocessing com base no tipo de carga de trabalho

    Conceitos-chave

    • propósito do GIL
    • impacto do GIL em threading
    • CPU-bound vs I/O-bound
    • liberação do GIL
    • multiprocessing como alternativa
    • extensões C e GIL
    • propostas de Python sem GIL
5 · Ecossistema e Ferramentas13 tópicos
  • Empacotamento e Dependências

    pip, venv, pyproject.toml, setuptools, poetry e gestão de dependências

    Objetivos

    • Configurar um projeto Python com empacotamento adequado

    Conceitos-chave

    • venv
    • pip
    • pyproject.toml
    • setuptools
    • poetry
    • wheel
    • requirements.txt
    • resolução de dependências
  • Testes

    pytest, unittest, mocking, fixtures, parametrize e cobertura de testes

    Objetivos

    • Escrever testes eficazes com pytest
    • Utilizar mocking corretamente

    Conceitos-chave

    • pytest
    • fixtures
    • parametrize
    • mock.patch
    • assert
    • conftest.py
    • cobertura
  • Type Hints

    Anotações de tipo, módulo typing, Generic, Protocol, TypeVar e mypy

    Objetivos

    • Adicionar type hints a bases de código
    • Compreender subtipagem estrutural

    Conceitos-chave

    • anotações de tipo
    • typing.Optional
    • typing.Union
    • Generic
    • Protocol
    • TypeVar
    • mypy
    • verificações em runtime vs estáticas
  • Tratamento de Erros

    Hierarquia de exceções, exceções personalizadas, padrões try/except/finally e EAFP vs LBYL

    Objetivos

    • Projetar hierarquias de exceções
    • Escolher entre EAFP e LBYL

    Conceitos-chave

    • try/except/else/finally
    • exceções personalizadas
    • encadeamento de exceções
    • BaseException vs Exception
    • EAFP vs LBYL
    • grupos de exceções
  • Fundamentos do Django

    Padrão MTV, ORM, views, URLs, middleware, admin e configuração de projetos

    Objetivos

    • Construir aplicações web com Django
    • Compreender a arquitetura MTV

    Conceitos-chave

    • padrão MTV
    • ORM
    • views
    • roteamento de URL
    • middleware
    • admin
    • settings
  • Fundamentos do Flask

    Rotas, decoradores, contexto de requisição, Blueprints, templates Jinja2 e extensões Flask

    Objetivos

    • Construir aplicações web leves com Flask
    • Compreender o contexto de requisição

    Conceitos-chave

    • rotas
    • decoradores
    • contexto de requisição
    • Blueprints
    • Jinja2
    • extensões Flask
  • FastAPI

    Operações de rota, modelos Pydantic, injeção de dependência, endpoints assíncronos e documentação OpenAPI

    Objetivos

    • Construir APIs assíncronas modernas com FastAPI
    • Aproveitar a documentação e validação automáticas

    Conceitos-chave

    • operações de rota
    • modelos Pydantic
    • injeção de dependência
    • endpoints assíncronos
    • documentação OpenAPI
  • mypy e Pydantic

    Modo estrito do mypy, pyright, Pydantic BaseModel, validadores, tipos de campo e serialização

    Objetivos

    • Garantir segurança de tipos com mypy
    • Validar dados com modelos Pydantic

    Conceitos-chave

    • modo estrito do mypy
    • pyright
    • Pydantic BaseModel
    • validadores
    • tipos de campo
    • serialização
  • Ferramentas de Qualidade de Código

    Ruff, Black, isort, flake8, hooks de pre-commit e configuração de linting

    Objetivos

    • Configurar ferramentas automatizadas de qualidade de código
    • Configurar linting para uma equipe

    Conceitos-chave

    • Ruff
    • Black
    • isort
    • flake8
    • hooks de pre-commit
    • configuração de linting
  • Ambientes Virtuais e uv

    venv, virtualenv, uv, pyproject.toml, Poetry, pip-tools e resolução de dependências

    Objetivos

    • Gerenciar ambientes Python de forma eficaz
    • Resolver conflitos de dependências

    Conceitos-chave

    • venv
    • virtualenv
    • uv
    • pyproject.toml
    • Poetry
    • pip-tools
    • resolução de dependências
  • Módulos da Biblioteca Padrão

    Módulos os, pathlib, sys, datetime, itertools, functools, math, statistics, json e csv

    Objetivos

    • Utilizar módulos da biblioteca padrão para evitar reinventar a roda
    • Escolher o módulo certo para tarefas comuns

    Conceitos-chave

    • os e pathlib
    • módulo sys
    • datetime e time
    • itertools
    • functools
    • math e statistics
    • json e csv
  • Gerenciadores de Pacotes

    pip, requirements.txt, Poetry, Conda, uv, pdm, resolução de dependências e arquivos lock

    Objetivos

    • Comparar e selecionar o gerenciador de pacotes adequado para um projeto
    • Gerenciar dependências de forma reproduzível com arquivos lock

    Conceitos-chave

    • fundamentos do pip
    • requirements.txt
    • Poetry
    • Conda
    • gerenciador de pacotes uv
    • pdm
    • resolução de dependências
    • arquivos lock
  • Depuração e Profiling

    Depurador pdb, breakpoint(), módulo logging, cProfile, line_profiler e análise de traceback

    Objetivos

    • Depurar código Python sistematicamente usando ferramentas nativas
    • Perfilar aplicações para identificar gargalos de desempenho

    Conceitos-chave

    • depurador pdb
    • breakpoint()
    • módulo logging
    • cProfile
    • line_profiler
    • análise de traceback
    • depuração via IDE
6 · Tópicos Especialistas10 tópicos
  • Internos do CPython

    GIL, contagem de referências, coleta de lixo, bytecode e extensões C

    Objetivos

    • Explicar as implicações do GIL
    • Ler a saída de bytecode

    Conceitos-chave

    • GIL
    • contagem de referências
    • módulo gc
    • bytecode (dis)
    • extensões C
    • PyObject
    • gerenciamento de memória
  • Padrões de Concorrência

    threading, multiprocessing, concurrent.futures e padrões de coordenação assíncrona

    Objetivos

    • Escolher entre threading, multiprocessing e asyncio

    Conceitos-chave

    • threading.Thread
    • multiprocessing.Process
    • concurrent.futures
    • ThreadPoolExecutor
    • ProcessPoolExecutor
    • locks/semáforos
    • asyncio.gather vs TaskGroup
  • Otimização de Desempenho

    Profiling, caching, complexidade algorítmica, otimização de memória e dicas de Cython

    Objetivos

    • Perfilar e otimizar código Python
    • Reduzir o consumo de memória

    Conceitos-chave

    • cProfile
    • line_profiler
    • functools.lru_cache
    • slots
    • intern()
    • memory_profiler
    • complexidade algorítmica
  • Multiprocessing

    Classe Process, Pool e map, memória compartilhada, Queue e Pipe, fork vs spawn e ProcessPoolExecutor

    Objetivos

    • Implementar processamento paralelo com multiprocessing
    • Escolher entre os métodos de inicialização fork e spawn

    Conceitos-chave

    • classe Process
    • Pool e map
    • memória compartilhada
    • Queue e Pipe
    • sincronização de processos
    • fork vs spawn
    • ProcessPoolExecutor
  • Extensões C para Python e ctypes

    Escrita de extensões C com ctypes, cffi e a API Python/C para código de desempenho crítico

    Objetivos

    • Construir uma extensão C usando ctypes
    • Explicar a semântica de memória da API Python/C

    Conceitos-chave

    • ctypes
    • cffi
    • API Python/C
    • PyArg_ParseTuple
    • Py_INCREF/DECREF
    • modo ABI do CFFI
    • Cython
  • Protocolos e Transportes asyncio Personalizados

    Implementação de transportes e protocolos asyncio personalizados para comunicação de rede de baixo nível

    Objetivos

    • Implementar um Protocol e Transport asyncio personalizado
    • Explicar o modelo de callback e agendamento do loop de eventos

    Conceitos-chave

    • asyncio.Protocol
    • asyncio.Transport
    • create_connection
    • BufferedProtocol
    • StreamReader
    • internos do loop de eventos
  • Segurança e Desserialização Segura

    Identificação e mitigação de vulnerabilidades de desserialização em Python com pickle, yaml e eval

    Objetivos

    • Identificar padrões inseguros de desserialização e suas explorações
    • Aplicar alternativas seguras nos contextos de pickle, yaml e eval

    Conceitos-chave

    • segurança do pickle
    • yaml.safe_load
    • injeção via eval
    • __reduce__
    • execução restrita
    • validação de entrada
  • Profiling de Memória e Detecção de Vazamentos

    Uso de memory_profiler, tracemalloc e objgraph para identificar e corrigir vazamentos de memória em aplicações Python

    Objetivos

    • Utilizar tracemalloc e objgraph para localizar vazamentos de memória
    • Aplicar __slots__ e referências fracas para reduzir a pressão de memória

    Conceitos-chave

    • tracemalloc
    • memory_profiler
    • objgraph
    • referências fracas
    • ciclos de referência
    • __slots__
    • gc.get_referrers
  • Observabilidade Python e OpenTelemetry

    Instrumentação de aplicações Python com OpenTelemetry para rastreamento distribuído, métricas e logs

    Objetivos

    • Instrumentar um serviço Python com spans e métricas do OpenTelemetry
    • Configurar propagação de contexto entre fronteiras assíncronas

    Conceitos-chave

    • OpenTelemetry SDK
    • spans e traces
    • propagação de contexto
    • exportador OTLP
    • instrumentação automática
    • métricas personalizadas
    • logging estruturado
  • Manipulação de AST Personalizada

    Uso do módulo ast do Python para analisar, inspecionar e transformar código para análise estática e geração de código

    Objetivos

    • Escrever um NodeVisitor para coletar métricas de uma AST Python
    • Implementar um NodeTransformer para reescrever chamadas de função

    Conceitos-chave

    • ast.parse
    • ast.NodeVisitor
    • ast.NodeTransformer
    • ast.unparse
    • geração de código
    • linters
    • transformações tipo macro

Níveis: Júnior, Pleno, Sênior e Especialista

Explique com suas palavras

Corrigido por IA · sem cadastro · 1 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

Já estuda Python?

A avaliação mede tópico por tópico, e o plano pula o que você já sabe.

Aberto para ler. A conta só é necessária para ser medido.

Perguntas frequentes

Por onde começar a estudar Python?

Comece por Fundamentos: Sintaxe Python, Variáveis e Tipos de Dados e Fluxo de Controle. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.

Quanto tempo leva uma avaliação completa de Python?

Uma avaliação completa desta trilha leva cerca de 45 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.

Preciso de conta para usar esta página?

Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.