Introdução
  • Apresentação
  • Perguntas e respostas
  • Site do curso
  • Preparando o ambiente
Conceitos básicos de POO
  • História da POO
  • Exercício 1
  • Vantagens da POO
  • O que é um objeto?
  • O que é uma classe?
  • Exercício 2
  • Membros ou propriedades
  • Unified Modeling Language - UML
  • Exercício 3
  • Interface - Escondendo detalhes
  • Interface pública
  • Exercício 4
  • Composição e Agregação
  • Herança
  • Sobreposição de métodos
  • Abstração
  • Herança Múltipla
  • Exercício 5
  • Herança x Composição
POO com Python
  • Introdução a Linguagem Python
  • Exercício 6
  • Exercícios de codificação
  • Número perfeito
  • Tupla Par
  • A mais longa substring em ordem alfabética
  • Falando sobre objetos
  • Exercício 7
  • Criando classes
  • Exercício 8
  • Adicionando atributos
  • Definindo métodos
  • Exercício 9
  • Módulos e pacotes
  • Implementando uma fila de prioridades
  • Docstrings
  • Exercício 10
  • Herança
  • Herança novamente
  • Herança Múltipla - Parte 1
  • Herança Múltipla - Parte 2
  • Exercício 11
  • Method Resolution Order - MRO
  • Classes mixin
  • Polimorfismo
  • Polimorfismo novamente
  • Exercício 12
  • Duck typing - Parte 1
  • Duck typing - Parte 2 - LBYL e EAFP
  • Sobrecarga de operadores
  • Encapsulamento
  • Exercício 13
  • Atributos protegidos
  • Definindo uma interface ou classe base abstrata
  • Delegar acesso a atributos
  • Economizando memória com muitas instâncias
  • Exercício 14
  • Diferença entre classmethod e staticmethod
  • Definindo mais de um construtor em uma classe
  • Criando uma instância sem chamar init
  • Exercício 15
  • Introdução a Exceções
  • Lançando exceções
  • Os efeitos de uma exceção
  • Manipulando exceções
  • A hierarquia de exceção
  • Criando nossas próprias exceções
  • Exercício 16
  • DRY - Don't repeat yourself
  • PEP 8
  • Performance
  • Exercício 17
  • Estruturas de Dados built-in - Parte 1
  • Estruturas de Dados built-in - Parte 2
  • Estendendo tipos de dados built-in
  • Função com número de parâmetros variável
  • Exercício 18
  • Serialização de objetos
  • Iterador
  • Geradores
  • Geradores novamente
  • Decorators
  • Exercício Decorator
  • Metaclasses
  • Exercício 19
  • Injeção de dependência
  • Criando templates com cookiecutter
Testes
  • Introdução ao unittest - Parte 1
  • Introdução ao unittest - Parte 2
  • Doctest
  • TDD - Test Driven Development - Teoria
  • TDD na prática
  • Gerando logs com logging - Parte 1