Curso interativo
Curso de Python
Aprenda Python do zero, em inglês, com CPython compilado em WebAssembly: seu código roda diretamente no navegador.
01 · Módulo 1 — Noções básicas de linguagem
Os fundamentos: declarar variáveis, reconhecer tipos, fazer aritmética, tomar decisões e imprimir no console.
- 1.1Variáveis e tiposDê um nome a um valor, descubra o tipo com type(), conheça int/float/str/bool/None.~10 min
- 1.2OperadoresAritmética (incluindo // e **), comparação, lógica booleana com e/ou/não, precedência.~10 min
- 1.3Condicionais: se, elif, senãoExecute código diferente dependendo de uma condição; o papel do recuo.~10 min
- 1.4Impressão e f-stringsprint() para mostrar valores, f-strings para compor texto com interpolação `{var}`.~8 min
02 · Módulo 2 — Fluxo de controle
Repetir, pular, tratar erros: as construções que fazem o programa reagir aos dados e problemas.
- 2.1para loops e alcanceItere sobre uma sequência com for, gere intervalos numéricos com range(start, stop, step).~10 min
- 2.2enquanto faz loopsRepita enquanto uma condição for mantida; quando preferir enquanto acabou.~8 min
- 2.3quebrar, continuar e mais em loopsSaia de um loop mais cedo, pule uma iteração, use o peculiar for…else.~10 min
- 2.4Tratamento de erros: tentar/excetoCapture exceções específicas, diferencie try/except/else/finally, levante erros com raise.~12 min
03 · Módulo 3 — Estruturas de dados
As quatro coleções integradas: lista (sequência mutável), tupla (sequência imutável), dict (mapa de valores-chave) e conjunto (coleção de elementos únicos).
- 3.1ListasCrie, acesse por índice e fatia, adicione e remova, classifique. A sequência que você mais usará.~12 min
- 3.2Tuplas e descompactaçãoSequências imutáveis, empacotamento e desempacotamento, trocam sem variável temporária, * para o resto.~10 min
- 3.3Dicionáriosmapas de chave → valor, acesso com [] e .get, iteração sobre chaves/valores/itens, dict.setdefault.~12 min
- 3.4ConjuntosColeções de elementos únicos, operações de conjunto (& | - ^), teste de adesão O(1).~10 min
04 · Módulo 4 — Strings e números
Trabalhe com texto (métodos, fatiamento) e números (matemática, conversões de tipo) de forma idiomática.
- 4.1Métodos de stringOs métodos mais usados: superior/inferior, strip, split/join, replace, startwith/endswith, find/in.~12 min
- 4.2Fatiamento e indexaçãoÍndices positivos e negativos, fatia [start:stop:step], reversão de string, substrings.~10 min
- 4.3Números e o módulo matemáticoint, float, divisão verdadeira vs número inteiro, módulo %, abs/round/min/max, math.sqrt, math.pi.~10 min
- 4.4Conversões de tipoint(), float(), str(), bool(): conversão explícita, análise de entrada, veracidade de valores.~10 min
05 · Módulo 5 — Funções
Defina funções com def, retorne valores, gerencie parâmetros padrão, *args/**kwargs e lambda.
- 5.1defesa e retornosintaxe def, retorno (nenhum explícito e implícito), parâmetros posicionais, docstring.~12 min
- 5.2Parâmetros padrão e de palavras-chaveValores padrão, chamadas com argumentos de palavras-chave, ordem posicional antes da palavra-chave, armadilha padrão mutável.~12 min
- 5.3*args e **kwargsFunções de argumento variável: *args coleta posicionais, **kwargs coleta palavras-chave. Desembale no local da chamada.~12 min
- 5.4Funções Lambda e de ordem superiorFunções anônimas com lambda, use com sorted/max/min, quando preferir def, sorted(..., key=...).~10 min
06 · Módulo 6 — Compreensão e iteração
Compreensões de lista/dict/set, expressões geradoras e as ferramentas fundamentais do módulo itertools.
- 6.1Compreensão da listaSintaxe [expressão para x in iter if cond], transformação, filtragem, aninhado.~12 min
- 6.2Ditar e definir compreensãoSintaxe {k: v for ...} e {x for ...} para construir dictos e conjuntos declarativamente.~10 min
- 6.3Expressão geradoraSintaxe (... for ... in ...), iteração lenta, memória constante, soma/qualquer/todos nos geradores.~10 min
- 6.4Itertools essenciaisAs funções mais utilizadas: enumerar, zip, encadear, contar, repetir, combinações.~12 min
07 · Módulo 7 — Aulas e módulos
Programação orientada a objetos em Python: classes, herança, métodos especiais (dunder), importação e organização de módulos.
- 7.1Classes e instânciasclasse, __init__, atributos e métodos de instância, self, classe vs atributos de instância.~14 min
- 7.2HerançaSubclasses, super(), substituição de método, isinstance, MRO básico.~12 min
- 7.3Métodos especiais (dunder)__str__, __repr__, __eq__, __len__: integre seus objetos com a linguagem.~12 min
- 7.4importação e módulosimportar, de ... importar, alias como, organização do módulo, se __name__ == "__main__".~10 min
08 · Módulo 8 — Biblioteca padrão essencial
Os módulos de biblioteca padrão que você encontrará todos os dias: json, datetime, coleções, re.
- 8.1JSON: serializar e analisarjson.dumps / json.loads, Python ↔ mapeamento de tipo JSON, recuo, sort_keys, padrão.~10 min
- 8.2datahora: datas e horáriosdatetime.now(), data/hora/datetime/timedelta, formatação com strftime, análise com strptime, aritmética.~12 min
- 8.3coleções: Counter e defaultdictContador para contagem, defaultdict para dictos inicializados automaticamente, nomeadotuple como um registro leve.~12 min
- 8.4módulo re: regex em Pythonre.search / re.match / re.findall / re.sub, sinalizadores, strings brutas r"...", grupos nomeados.~12 min
09 · Módulo 9 — Python moderno: prática
Práticas modernas de Python: dicas de tipo, classe de dados, gerenciadores de contexto e decoradores. O código que você escreve em 2025.
- 9.1Dicas de tipo: anotando tiposAnotações sobre parâmetros e retorno, list[int] / dict[str, int], Opcional, Union, uma nota sobre mypy.~12 min
- 9.2dataclass: classes de dados sem clichê@dataclass, field(default_factory=...), frozen=True, equivalente a __init__/__repr__/__eq__.~12 min
- 9.3Gerenciador de contexto: com e __enter__/__exit__com open(...), escrevendo seu próprio gerenciador de contexto com __enter__/__exit__, contextlib.contextmanager.~12 min
- 9.4Decoradores: funções que modificam funçõesFunções de ordem superior, sintaxe @decorator, functools.wraps, exemplo @timeit.~14 min