- i/o na saída padrão
- tipos de dados
- estruturas de controle
- built-in functions
- funções
- módulos externos
- contentores
- compreensão de listas
- i/o de arquivos
- Classes, objetos e
self
- Propriedades e métodos
- Dunder methods (métodos especiais)
- Função "construtora" (
__init__
) - Representação textual de um objeto (
__str__
) - Representação lógica de um objeto(
__repr__
)
- Função "construtora" (
- métodos e atributos estáticos
- Dunder methods (métodos especiais)
- Encapsulamento e coesão do código
__
vs_
- Polimorfismo
- Herança (extensão)
- Relacionamento "é um..."
- método
super()
- Herança de tipos built in
- Interface vs Reuso (vantagens e desvantagens)
- Herança (extensão)
- Composição
- Relacionamento "tem um..."/"se comporta como um..."
- Duck typing e magic methods
__getitem__
,__len__
- Python data (object) model: inicialização, representação, container, numéricos
- Classes abstratas
- Interfaces: Abstract Base Classes (ABC)
- Métodos abstratos
- Herança múltipla
- Method Resolution Order (MRO)
- Mixins
- O que são strings?
- Fatiando strings
- Expressões regulares
- Métodos especiais
- Listas
- Tuplas
- Lista de tuplas
- Tupla de objetos
- Heraça e polimorfismo
- Array e Numpy
- Igualdade e o
__eq__
- Outras built in functions
enumerate
range
- desempacotamento de tuplas
- Ordenação
- in place
- lazy loading
- ordem natural
__lt__
(less than)
- functools
total_ordering
- Conjuntos
- Dicionários
- Validação de CPF e CNPJ com pacotes externos
- Expressões regulares
- Telefone
- Datas
- biblioteca
datetime
- biblioteca
- CEP
- usando um web service
- TDD e boas práticas
- Biblioteca
unittest
- cenários isolados (
setUp()
)
- cenários isolados (
- Biblioteca
pytest
- cenários isolados (fixtures e injeção de dependências)
- Classes de equivalência
- Gerenciador de contextos (
with
) - Exceções