Skip to content

Commit ecc31b2

Browse files
committed
formatação
1 parent cfc79e6 commit ecc31b2

3 files changed

Lines changed: 128 additions & 137 deletions

File tree

online/cap02.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1388,11 +1388,11 @@ o Python chama `+seq.__getitem__(slice(start, stop, step))+`, como veremos na <<
13881388
Mesmo se você não for implementar seus próprios tipos de sequência, saber dos objetos fatia é útil,
13891389
porque eles permitem que você atribua nomes às fatias, da mesma forma que planilhas permitem dar nomes a faixas de células.
13901390

1391-
Suponha que você precise analisar um arquivo de dados como a fatura mostrada na <<flat_file_invoce>>.
1391+
Suponha que você precise analisar um arquivo de dados como a fatura mostrada na <<flat_file_invoice>>.
13921392
Em vez de encher seu código de fatias explícitas fixas, você pode nomeá-las.
13931393
Veja como isso torna legível o loop `for` no final do exemplo.
13941394

1395-
[[flat_file_invoce]]
1395+
[[flat_file_invoice]]
13961396
.Itens de um arquivo tabular de fatura
13971397
====
13981398
[source, python]
@@ -2492,7 +2492,7 @@ incluindo a "Recipe 1.11.
24922492
Naming a Slice" (_Receita 1.11.
24932493
Nomeando uma Fatia_),
24942494
onde aprendi o truque de atribuir fatias a variáveis para melhorar a legibilidade,
2495-
como ilustrado no nosso <<flat_file_invoce>>.
2495+
como ilustrado no nosso <<flat_file_invoice>>.
24962496

24972497
A segunda edição do _Python Cookbook_ foi escrita para Python 2.4,
24982498
mas a maior parte de seu código funciona com Python 3,

vol1/cap01.adoc

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[[ch_data_model]]
2-
== O modelo de dados de Python
2+
== O modelo de dados
33
:example-number: 0
44
:figure-number: 0
55

@@ -47,9 +47,8 @@ nomes dos métodos especiais são sempre precedidos e seguidos de dois sublinhad
4747
Por exemplo, a sintaxe `obj[key]` está amparada no método especial `+__getitem__+`.
4848
Para resolver `my_collection[key]`, o interpretador chama `+my_collection.__getitem__(key)+`.
4949

50-
[role="pagebreak-before"]
51-
Implementamos métodos especiais quando queremos que nossos objetos suportem e interajam com
52-
elementos fundamentais da linguagem, como:
50+
<<<
51+
Implementamos métodos especiais para que os objetos suportem:
5352

5453
* Coleções
5554

@@ -74,25 +73,21 @@ elementos fundamentais da linguagem, como:
7473
[NOTE]
7574
====
7675
O((("magic methods")))((("dunder methods")))
77-
termo _método mágico_ é uma gíria usada para se referir aos métodos especiais,
78-
mas como falamos de um método específico, por exemplo `+__getitem__+`?
79-
Aprendi a dizer "dunder-getitem" com o autor e professor Steve Holden.
80-
"Dunder" é uma contração da frase em inglês "double underscore before and after"
81-
(_sublinhado duplo antes e depois_).
82-
Por isso os métodos especiais são também conhecidos como _métodos dunder_.
83-
O capítulo
84-
«Análise Léxica» [.small]#&#91;fpy.li/2d&#93;#
76+
termo _método mágico_ é gíria para "métodos especial.
77+
Para falar de um método específico, por exemplo `+__getitem__+`,
78+
pythonistas comoo autor Steve Holden dizem "dunder-getitem".
79+
"Dunder" é uma contração de _double underscore before and after_
80+
(sublinhado duplo antes e depois).
81+
O capítulo «Análise Léxica» [.small]#&#91;fpy.li/2d&#93;#
8582
de _A Referência da Linguagem Python_ adverte:
8683
"_Qualquer_ uso de nomes no formato `+__*__+` que não siga explicitamente o uso documentado,
8784
em qualquer contexto, está sujeito a quebra sem aviso prévio."
8885
====
8986

90-
<<<
91-
9287
=== Novidades neste capítulo
9388

9489
Esse((("Python Data Model", "significant changes to"))) capítulo sofreu poucas alterações desde a primeira edição,
95-
pois é uma introdução ao Modelo de Dados de Python, que é muito estável.
90+
pois é o Modelo de Dados de Python é muito estável.
9691
As mudanças mais significativas foram:
9792

9893
* Métodos especiais que suportam programação assíncrona e outras novas funcionalidades
@@ -101,6 +96,7 @@ foram acrescentados às tabelas na <<overview_special_methods>>.
10196
* A <<collection_uml>>, mostrando o uso de métodos especiais na <<collection_api>>,
10297
incluindo a classe base abstrata `collections.abc.Collection`, introduzida no Python 3.6.
10398

99+
<<<
104100
Além disso, aqui((("f-string syntax", "benefits of"))) e por toda essa segunda edição,
105101
adotei a sintaxe _f-string_, introduzida no Python 3.6,
106102
que é mais legível e muitas vezes mais conveniente que as notações de formatação de strings mais antigas:
@@ -118,11 +114,6 @@ ou quando tem de vir de um arquivo de configuração ou de um banco de dados.
118114
Essas são necessidades reais, mas não acontecem com frequência.
119115
====
120116

121-
////
122-
PROD: As is often the case, the TIP above may or may not run over the next paragraphs,
123-
depending on some random factor I don't know how to control.
124-
////
125-
126117
[[pythonic_card_deck]]
127118
=== Um baralho pythônico
128119

@@ -144,6 +135,7 @@ include::../code/01-data-model/frenchdeck.py[]
144135
----
145136
====
146137

138+
<<<
147139
A((("collections.namedtuple"))) primeira coisa a notar é o uso de `collections.namedtuple`
148140
para construir uma classe simples representando cartas individuais.
149141
Usamos `namedtuple` para criar classes de objetos que são apenas um agrupamento de atributos,
@@ -238,6 +230,7 @@ Card(rank='4', suit='spades')
238230
...
239231
----
240232

233+
<<<
241234
Também podemos iterar sobre o baralho na ordem inversa:
242235

243236
[source, python]
@@ -371,11 +364,8 @@ Essas funções chamam o método especial correspondente,
371364
mas também fornecem outros serviços e—para tipos embutidos—são mais rápidas que chamadas a métodos.
372365

373366
Na próxima seção veremos alguns dos usos mais importantes dos métodos especiais:
374-
375-
* Emular tipos numéricos
376-
* Representar objetos na forma de strings
377-
* Determinar o valor booleano de um objeto
378-
* Implementar coleções
367+
emular tipos numéricos, representar objetos na forma de strings,
368+
determinar o valor booleano de um objeto, e implementar coleções.
379369

380370

381371
[[data_model_emulating_sec]]
@@ -399,8 +389,8 @@ Faremos isso no «Capítulo 17» [.small]#&#91;vol.3, fpy.li/4s&#93;#.
399389
======
400390

401391
[[vectors_fig]]
402-
.Soma de vetores bidimensionais; `Vector(2, 4) + Vector(2, 1)` devolve `Vector(4, 5)`.
403-
image::../images/flpy_0101.png[vetores 2D,align="center",pdfwidth=9cm]
392+
.Soma de vetores: `Vector(2, 4) + Vector(2, 1)` devolve `Vector(4, 5)`.
393+
image::../images/flpy_0101.png[vetores 2D,align="center",pdfwidth=7cm]
404394

405395
Vamos começar a projetar a API para essa classe escrevendo uma sessão de console simulada,
406396
que depois podemos usar como um doctest.
@@ -453,6 +443,7 @@ include::../code/01-data-model/vector2d_pt.py[]
453443
----
454444
====
455445

446+
<<<
456447
Implementamos cinco métodos especiais, além do costumeiro `+__init__+`.
457448
Veja que nenhum deles é chamado diretamente dentro da classe ou durante seu uso normal,
458449
ilustrado pelos doctests.
@@ -602,8 +593,7 @@ Cada uma das ABCs no topo da hierarquia tem um único método especial.
602593
A ABC `Collection` (introduzida no Python 3.6) unifica as três interfaces essenciais
603594
que toda coleção deveria implementar:
604595

605-
* `Iterable`, para((("Iterable interface")))((("interfaces", "Iterable interface"))) suportar `for`,
606-
«desempacotamento» [.small]#&#91;fpy.li/2h&#93;#,
596+
* `Iterable`, para((("Iterable interface")))((("interfaces", "Iterable interface"))) suportar a instrução `for`,
607597
e outras formas de iteração
608598
* `Sized` para((("Sized interface")))((("interfaces", "Sized interface"))) suportar a função embutida `len`
609599
* `Container` para((("Container interface")))((("interfaces", "Container interface"))) suportar o operador `in`
@@ -652,7 +642,7 @@ A maioria desses métodos será tratado ao longo do livro, incluindo as adiçõe
652642
métodos especiais assíncronos como `+__anext__+` (acrescentado no Python 3.5),
653643
e o método de configuração de classes, `+__init_subclass__+` (do Python 3.6).
654644

655-
645+
<<<
656646
[[special_names_tbl]]
657647
.Nomes de métodos especiais (excluindo operadores)
658648
[options="header", cols="2,3"]

0 commit comments

Comments
 (0)