Mudanças entre as edições de "Oficina: Objetos Pythônicos"
Ir para navegação
Ir para pesquisar
(Criou página com '{| !style="text-align:right;"|Tempo<br>(minutos)!!Atividade |- |style="text-align:right; font-weight: bold;"|7||Learning through introspection: Everything is an object. Almost...') |
|||
Linha 16: | Linha 16: | ||
|style="text-align:right; font-weight: bold;"|12||Goose typing: Abstract Base Classes and virtual subclasses. |
|style="text-align:right; font-weight: bold;"|12||Goose typing: Abstract Base Classes and virtual subclasses. |
||
|- |
|- |
||
− | |style="text-align:right; font-weight: bold;"|30|| |
+ | |style="text-align:right; font-weight: bold;"|30||INTERVALO |
|- |
|- |
||
|style="text-align:right; font-weight: bold;"|5||Caveats when subclassing built-ins: "non-virtual" methods. |
|style="text-align:right; font-weight: bold;"|5||Caveats when subclassing built-ins: "non-virtual" methods. |
Edição das 08h06min de 7 de abril de 2019
Tempo (minutos) |
Atividade |
---|---|
7 | Learning through introspection: Everything is an object. Almost. |
7 | Duck-typing a.k.a. extreme polymorphism. |
15 | Profitable polymorphism with the Python Data Model. |
10 | Encapsulation and data hiding the Python way. |
15 | Exercise 1: implementing a set type from bit arrays. |
10 | Inheritance within reason: a few heuristics. |
12 | Goose typing: Abstract Base Classes and virtual subclasses. |
30 | INTERVALO |
5 | Caveats when subclassing built-ins: "non-virtual" methods. |
15 | Exercise 2: fixing a broken dict subclass. |
7 | Data classes. |
17 | Class attributes: from simple values to properties and descriptors. |
3 | Unbound vs. bound methods: descriptors explain it all. |
15 | Exercise 3: refactoring a legacy class to leverage modern Python features. |
7 | Outstanding design (almost) without classes. |
5 | Wrapping up. |