Curso gratuito

Curso de Python Avançado

Domine tipagem, async, metaclasses, performance e engenharia de software de verdade. O terceiro e último curso da trilha Python do ValorFinal, para quem já escreve código organizado (orientação a objetos, decoradores, geradores e testes) e quer pensar como engenheiro. Você vai dominar tipagem estática com type hints e mypy, dataclasses, programação funcional com functools e itertools, decoradores avançados, context managers, geradores e iteradores avançados, concorrência com threads, async e asyncio, orientação a objetos avançada, metaclasses e descritores, exceções e logging, testes com pytest, performance e profiling, empacotamento e boas práticas de projeto, e vai fechar com uma biblioteca completa, tipada e testada. Cada aula tem exemplos comentados, exercícios com correção automática no Playground e fontes oficiais da documentação em português. É o topo da trilha: sem promessa de emprego, só engenharia de verdade e código do jeito que profissionais escrevem.

Por Cesar Gargiulo, especialista em segurança da informação. Revisado pela equipe ValorFinal e GuardiaSec.

Valim, o professor do Curso de Python Avançado
16 módulos, 78 aulas12 horas de conteúdo Certificado para assinantes Atualizado em 01/07/2026
Velocidade

O que você leva neste curso

O conteúdo é todo gratuito. Veja o que cada plano libera antes de começar.

Conta grátis

R$ 0

  • Ler todas as aulas, sem login
  • Salvar o progresso só neste aparelho
  • Fazer as mini-provas de cada módulo
  • Conquistar e ver todas as medalhas
  • Compartilhar as conquistas no LinkedIn

♛ ValorFinal VIP

Certificado + extras

  • Tudo do plano grátis
  • Certificado de conclusão verificável em PDF com o seu nome
  • Open Badge do certificado (credencial aberta, padrão 1EdTech, para o LinkedIn e carteiras de medalhas)
  • Certificado ancorado no Bitcoin (OpenTimestamps), com comprovante verificável de forma independente
  • Anotações nas aulas, com grifar para anotar e sincronizadas entre aparelhos
  • Valim, o tutor de IA, dentro das aulas
  • Comunidade de dúvidas por aula, com a 1a resposta do Valim
  • Liga semanal de XP e Hall da Fama do curso
  • Progresso salvo na sua conta e sincronizado entre aparelhos (no mesmo computador, cada conta vê só o seu avanço)
  • Portal inteiro sem anúncios
♛ Conhecer o VIP

Conteúdo do curso

Capa do módulo 1: Boas-vindas ao Python Avançado

Módulo 1: Boas-vindas ao Python Avançado

3 aulas

O ponto de partida do topo da trilha: o que você já domina do Intermediário, o que muda quando o objetivo deixa de ser só organizar e passa a ser projetar com intenção. Uma revisão relâmpago da orientação a objetos e dos recursos avançados, e as ferramentas de engenharia que acompanham todo o curso.

Capa do módulo 2: Tipagem estática

Módulo 2: Tipagem estática

5 aulas

O primeiro pilar da engenharia em Python: declarar os tipos que o seu código espera e devolve. Você aprende os type hints, o módulo typing com Optional, Union, list, dict e Callable, o começo de generics com TypeVar, o Protocol para duck typing tipado e o verificador mypy que confere tudo antes de rodar.

Capa do módulo 3: Dataclasses e estruturas de dados

Módulo 3: Dataclasses e estruturas de dados

5 aulas

Como modelar dados com elegância em Python. O decorador @dataclass gera automaticamente o construtor, a representação e a comparação de uma classe de dados. Você aprende field com default_factory, a imutabilidade com frozen, a validação no __post_init__, o Enum para constantes nomeadas e como escolher entre dataclass, namedtuple, dicionário e tupla.

Capa do módulo 4: Programação funcional

Módulo 4: Programação funcional

5 aulas

Um estilo de programação que trata funções como valores e evita efeitos colaterais. Você aprende funções puras e imutabilidade, as ferramentas do functools (reduce, partial e o cache do lru_cache), os geradores infinitos e combinadores do itertools, e quando preferir map e filter às compreensões de lista.

Capa do módulo 5: Decoradores avançados

Módulo 5: Decoradores avançados

5 aulas

O decorador simples do Intermediário era só o começo. Aqui você aprende a preservar a identidade da função com functools.wraps, a construir decoradores que recebem argumentos, a decorar classes inteiras, a empilhar decoradores na ordem certa e a reconhecer os padrões que aparecem em qualquer código profissional: log, cronômetro, cache, validação e retry.

Capa do módulo 6: Context managers e o with

Módulo 6: Context managers e o with

5 aulas

O comando with que você usa para abrir arquivos guarda um mecanismo elegante por baixo: o context manager, que garante a limpeza de um recurso aconteça o que acontecer. Aqui você aprende o protocolo __enter__ e __exit__, o atalho com @contextlib.contextmanager e yield, e monta seus próprios gerenciadores para arquivos, locks, transações e cronômetros.

Capa do módulo 7: Geradores e iteradores avançados

Módulo 7: Geradores e iteradores avançados

5 aulas

Por trás de todo for existe o protocolo do iterador, e por trás dele está o poder dos geradores. Aqui você desce ao __iter__ e __next__, monta pipelines preguiçosos que processam dados enormes com pouca memória, delega com yield from, dompteia sequências infinitas com islice e conhece o send, o passo que faz a ponte para a programação assíncrona.

Capa do módulo 8: Concorrência com threads

Módulo 8: Concorrência com threads

5 aulas

O primeiro passo para lidar com muitas tarefas ao mesmo tempo. Você entende a diferença entre concorrência e paralelismo, o famoso GIL e o que ele implica, cria threads na prática, aprende a evitar a race condition com Lock, coordena produtor e consumidor com fila e usa o ThreadPoolExecutor para trabalho de I/O em lote.

Capa do módulo 9: Async e asyncio

Módulo 9: Async e asyncio

5 aulas

Outra forma de fazer muitas tarefas de I/O ao mesmo tempo, sem threads. Você entende por que a espera desperdiça tempo, escreve corrotinas com async def e await, roda o event loop com asyncio.run, dispara várias tarefas juntas com asyncio.gather e aprende quando async é melhor que threads e quando não é.

Capa do módulo 10: Orientação a objetos avançada

Módulo 10: Orientação a objetos avançada

5 aulas

O coração do projeto de software em Python. Você aprende a proteger atributos com @property e validação, a criar métodos de classe e estáticos, a fazer suas classes se integrarem à linguagem com os métodos dunder, a economizar memória com __slots__, a entender herança múltipla e a ordem de resolução de métodos, e a escolher entre composição e herança com critério.

Capa do módulo 11: Metaclasses e descritores

Módulo 11: Metaclasses e descritores

5 aulas

O andar de baixo da orientação a objetos em Python. Aqui você descobre que classes também são objetos, entende como type() fabrica classes, o que é uma metaclass e quando (raramente) vale usar, e como os descritores fazem @property funcionar por dentro. Poder de verdade, para usar com parcimônia.

Capa do módulo 12: Exceções, logging e robustez

Módulo 12: Exceções, logging e robustez

5 aulas

O módulo que separa um script que funciona de um programa em que se pode confiar. Você desenha uma hierarquia de exceções própria do seu domínio, encadeia erros sem perder a causa, usa o módulo logging no lugar do print e adota uma postura defensiva: validar cedo e falhar de forma clara.

Capa do módulo 13: Testes avançados

Módulo 13: Testes avançados

5 aulas

Testar de verdade, do jeito profissional. Você troca os asserts soltos pelo pytest, o framework de testes mais usado do Python, e aprende a organizar o teste com fixtures, cobrir muitos casos com parametrize, testar erros e dependências com pytest.raises e mocks, medir cobertura e adotar o ciclo TDD.

Capa do módulo 14: Performance e profiling

Módulo 14: Performance e profiling

5 aulas

Antes de acelerar qualquer código, você precisa saber onde ele é lento. Este módulo ensina a medir com timeit, a achar o gargalo real com cProfile e pstats, a raciocinar sobre complexidade sem matemática pesada, a escolher a estrutura de dados certa e a usar memoização e geradores. A regra é uma só: meça primeiro, otimize depois.

Capa do módulo 15: Empacotamento e boas práticas

Módulo 15: Empacotamento e boas práticas

5 aulas

Escrever funções que funcionam é só metade do trabalho de engenharia. A outra metade é organizar tudo num projeto navegável, com estrutura de pacote clara, imports bem resolvidos, estilo consistente e princípios de design que mantêm o código fácil de mudar. Este módulo reúne a estrutura de projetos, o pyproject.toml, PEP 8, SOLID e os padrões pythônicos de código limpo.

Capa do módulo 16: Projeto final: mini biblioteca de utilidades

Módulo 16: Projeto final: mini biblioteca de utilidades

5 aulas

Chegou a hora de juntar tudo. Neste módulo você constrói, passo a passo, uma mini biblioteca de utilidades tipada e testada, o pacote catalogo, para gerenciar produtos e preços. Cada aula acrescenta uma camada: dataclasses e Enum, decoradores próprios e context manager, exceções e logging, e por fim testes com pytest e empacotamento. É o código que prova, para você mesmo, que você projeta software.

CG

Quem fez este curso

Cesar Gargiulo

Especialista em Cloud Security e Segurança da Informação

Cesar tem 19 anos de carreira em tecnologia e segurança da informação. Trabalha com AWS, atua nos times de defesa (Blue Team) e de ataque (Red Team) e lidera projetos de arquitetura segura, resposta a incidentes e testes de invasão. É pós-graduado em Offensive Cyber Security pela FIAP, tem MBA em Governança de TI e certificações em pentest e redes.

Cada aula passa pelo mesmo cuidado: explicar de forma simples, com fonte e sem promessa fácil.

Conteúdo revisado pela equipe ValorFinal e GuardiaSec Ver o perfil no LinkedIn