Mudanças entre as edições de "Oficina: Objetos Pythônicos"
Ir para navegação
Ir para pesquisar
Linha 1: | Linha 1: | ||
+ | Objetos e classes fazem parte do Python desde a versão 1 - não um remendo tardio. Mas todas as linguagens implementam e suportam OOP de maneiras diferentes. Padrões "clássicos" que fazem sentido em outros lugares podem não ser tão úteis em Python, e Python fornece soluções exclusivas para alguns problemas familiares. |
||
+ | |||
+ | Este tutorial é sobre OOP moderno e idiomático em Python 3.7. A maior parte da discussão será relevante para as versões anteriores até o Python 2.7, mas os recursos mais recentes serão destacados. |
||
+ | |||
+ | == Pré-requisitos == |
||
+ | |||
+ | É necessário saber o básico de programação em Python. |
||
+ | |||
+ | |||
+ | == Atividades == |
||
+ | |||
+ | Traga o seu computador. As pessoas participantes serão estimuladas a trabalhar em duplas. |
||
+ | |||
{| |
{| |
||
!style="text-align:right;"|Tempo<br>(minutos)!!Atividade |
!style="text-align:right;"|Tempo<br>(minutos)!!Atividade |
Edição das 08h18min de 7 de abril de 2019
Objetos e classes fazem parte do Python desde a versão 1 - não um remendo tardio. Mas todas as linguagens implementam e suportam OOP de maneiras diferentes. Padrões "clássicos" que fazem sentido em outros lugares podem não ser tão úteis em Python, e Python fornece soluções exclusivas para alguns problemas familiares.
Este tutorial é sobre OOP moderno e idiomático em Python 3.7. A maior parte da discussão será relevante para as versões anteriores até o Python 2.7, mas os recursos mais recentes serão destacados.
Pré-requisitos
É necessário saber o básico de programação em Python.
Atividades
Traga o seu computador. As pessoas participantes serão estimuladas a trabalhar em duplas.
Tempo (minutos) |
Atividade |
---|---|
7 | Aprendendo com introspecção: quase tudo é um objeto. |
7 | Duck-typing ou tipagem pato: polimorfismo extremo. |
15 | Polimorfismo produtivo com o Python Data Model |
10 | Encapsulamento e data hiding do jeito Pythônico |
15 | Exercício 1: implementação de um tipo Set sobre vetores de bits |
10 | Herança com sabedoria: algumas heurísticas |
12 | Tipagem ganso: ABCs e subclasses virtuais |
30 | INTERVALO |
5 | Pegadinhas ao herdar de tipos embutidos: métodos não virtuais |
15 | Exercício 2: consertando um dicionário quebrado |
7 | Data classes: classes para dados |
17 | Atributos de classes: de valores simples a propriedades e descritores. |
3 | Métodos vinculados ou desvinculados (bound vs. unbound) |
15 | Exercício 3: refatorando uma classe legada para aproveitar recursos modernos de Python |
7 | Projetos excelentes (quase) sem classes |
5 | Conclusão |