Mudanças entre as edições de "Oficina: Objetos Pythônicos"

De Garoa Hacker Clube
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.
+
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 oferece soluções próprias para alguns problemas comuns.
   
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.
+
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 algus recursos mais recentes serão destacados.
   
 
== Pré-requisitos ==
 
== Pré-requisitos ==
Linha 7: Linha 7:
 
É necessário saber o básico de programação em Python.
 
É necessário saber o básico de programação em Python.
   
 
Traga o seu computador. As pessoas participantes serão estimuladas a trabalhar em duplas.
   
 
== Atividades ==
 
== Atividades ==
   
  +
Vamos tentar seguir este cronograma:
Traga o seu computador. As pessoas participantes serão estimuladas a trabalhar em duplas.
 
   
 
{|
 
{|

Edição das 09h23min 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 oferece soluções próprias para alguns problemas comuns.

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 algus recursos mais recentes serão destacados.

Pré-requisitos

É necessário saber o básico de programação em Python.

Traga o seu computador. As pessoas participantes serão estimuladas a trabalhar em duplas.

Atividades

Vamos tentar seguir este cronograma:

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