Skip to content

Commit 56e5677

Browse files
committed
errata #112
1 parent b0c3f02 commit 56e5677

File tree

10 files changed

+58
-63
lines changed

10 files changed

+58
-63
lines changed

guia-de-estilo.adoc

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,6 @@
55

66
Padrões gráficos e de linguagem adotados nesta tradução.
77

8-
## Referências à linguagens de programação
9-
10-
Evitamos o uso de artigos antes de nomes de linguagens como Python, Go, Ruby etc.
11-
Ex: "Python invoca métodos...", mas não
12-
"O Python invoca métodos...".
13-
14-
Isso se aplica à conjunção "de", por exemplo
15-
"a versão de Python" e não "a versão do Python"
16-
178

189
## Termos adotados
1910

@@ -109,6 +100,7 @@ Termo em inglês adotado::
109100
|❗ _return_ (flow control) |✅ retorna | "A função retorna após 10s."
110101
|❗ _return_ (value) |✅ devolve | "A função devolve a lista de estudantes."
111102
|❗ _S-expression_ |✅ expressão-S |
103+
|❗ _source code_ |✅ código-fonte | 🔎 código fonte
112104
|❗ _stack_ |✅ pilha |
113105
|❗ _statement_ |✅ instrução |
114106
|✅ _status_ (s.m.) |❗ situação |

online/Prefacio.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ Algumas vezes vou explicar o que queremos realizar mostrando um _doctest_ antes
127127
Estabelecer precisamente o quê deve ser feito, antes de pensar sobre como fazer, ajuda a focalizar nosso esforço de codificação.
128128
Escrever os testes previamente é a base de desenvolvimento dirigido por testes (TDD, _test-driven development_), e também acho essa técnica útil para ensinar.
129129

130-
Também((("pytest package")))((("unittest module"))) escrevi testes de unidade para alguns dos exemplos maiores usando _pytest_—que acho mais fácil de usar e mais poderoso que o módulo _unittest_ da bibliotexa padrão.
130+
Também((("pytest package")))((("unittest module"))) escrevi testes unitários para alguns dos exemplos maiores usando _pytest_—que acho mais fácil de usar e mais poderoso que o módulo _unittest_ da biblioteca padrão.
131131
Você vai descobrir que pode verificar a maior parte do código do livro digitando `python3 -m doctest example_script.py` ou `pytest` no console de seu sistema operacional.
132132
A configuração do _pytest.ini_, na raiz do https://fpy.li/code[repositório do código de exemplo], assegura que _doctests_ são coletados e executados pelo comando `pytest`.((("", startref="Papproach00")))
133133

@@ -136,7 +136,7 @@ A configuração do _pytest.ini_, na raiz do https://fpy.li/code[repositório do
136136

137137
Venho usando, ensinando e debatendo Python desde 1998, e gosto de estudar e comparar linguagens de programação, seus projetos e a teoria por trás delas. Ao final de alguns capítulos acrescentei uma seção "Ponto de vista", apresentando minha perspectiva sobre Python e outras linguagens. Você pode pular essas partes, se não tiver interesse em tais discussões. Seu conteúdo é inteiramente opcional.
138138

139-
=== Conteúdo na na Web
139+
=== Conteúdo na Web
140140

141141
Criei dois sites para este livro:
142142

online/cap05.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1342,7 +1342,7 @@ português—uma tradução quase literal seria "fedor no código".
13421342
Uma tradução mais gentil pode ser "cheiro no código", adotado aqui.
13431343
Mais gentil e menos enviesada: um "cheiro no código" nem sempre é indicação de um problema.]—padrões
13441344
no código que podem indicar a necessidade de refatoração.
1345-
O verbete entitulado "Data Class"
1345+
O verbete intitulado "Data Class"
13461346
(_Classe de Dados_) começa assim:
13471347

13481348
[quote]

online/cap07.adoc

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ No Python, funções((("objects", "first-class")))((("first-class objects")))(((
1515
Estudiosos de linguagens de programação definem um "objeto de primeira classe"
1616
como uma entidade que pode ser:
1717

18-
* Criada durante a execução de um programa;
19-
* Atribuída a uma variável ou a um elemento em uma estrutura de dados;
20-
* Passada como argumento para uma função;
21-
* Devolvida como o resultado de uma função.
18+
* Criada durante a execução de um programa
19+
* Atribuída a uma variável ou a um elemento em uma estrutura de dados
20+
* Cassada como argumento para uma função
21+
* Devolvida como o resultado de uma função
2222

2323
Inteiros, strings e dicionários são outros exemplos de objetos de primeira classe no Python—nada de incomum aqui.
2424
Tratar funções como objetos de primeira classe é um recurso essencial das linguagens funcionais, como Clojure, Elixir e Haskell.
@@ -49,14 +49,14 @@ Transferi a discussão sobre acesso a anotações de funções durante a execuç
4949
Quando escrevi a primeira edição, a https://fpy.li/pep484[PEP 484—Type Hints (_Dicas de Tipo_)] (EN)
5050
ainda estava sendo considerada, e as anotações eram usadas de várias formas diferentes.
5151
Desde Python 3.5, anotações precisam estar em conformidade com a PEP 484.
52-
Assim, o melhor lugar para falar delas é na a discussão sobre as dicas de tipo.
52+
Assim, o melhor lugar para falar delas é na discussão sobre as dicas de tipo.
5353

5454
[NOTE]
5555
====
5656
A((("function parameters, introspection of")))((("parameters", "introspection of function parameters")))
5757
primeira edição desse livro continha seções sobre a introspecção de objetos função,
5858
que desciam a detalhes de baixo nível e desviavam do assunto principal do capítulo.
59-
Reuni aquelas seções em um post entitulado
59+
Reuni aquelas seções em um post intitulado
6060
https://fpy.li/7-2["Introspection of Function Parameters" (_Introspecção de Parâmetros de Funções_)], no _fluentpython.com_.
6161
====
6262

@@ -186,9 +186,9 @@ mas temos alternativas melhores para a maioria de seus casos de uso, como mostra
186186
==== Substitutos modernos para map, filter, e reduce
187187

188188
Linguagens funcionais((("list comprehensions (listcomps)", "versus map and filter functions")))((("generator expressions (genexps)")))
189-
normalmente oferecem as funções de ordem superior `map`, `filter`, and `reduce` (algumas vezes com nomes diferentes).
190-
As funções `map` e `filter` ainda estão embutidas no Python mas elas não são mais tão importantes
191-
desde a introdução das compreensões de lista e das expressões geradoras,
189+
normalmente oferecem as funções de ordem superior `map`, `filter`, e `reduce` (algumas vezes com nomes diferentes).
190+
As funções `map` e `filter` ainda estão embutidas no Python, mas elas não são mais tão importantes
191+
desde a introdução das compreensões de lista e das expressões geradoras.
192192
Uma listcomp ou uma genexp fazem o mesmo que `map` e `filter` combinadas, e são mais legíveis.
193193
Considere o <<reduce_x_sum>>.
194194

@@ -220,7 +220,7 @@ sua substituta direta agora é uma expressão geradora
220220
(no Python 2, essas funções devolviam listas, então sua alternativa mais próxima era a compreensão de lista).
221221

222222
A função `reduce` foi rebaixada de função embutida, no Python 2, para o módulo `functools` no Python 3.
223-
Seu caso de uso mais comum, a somatória, é melhor servido pela função embutida `sum`,
223+
Seu caso de uso mais comum, a somatória, é melhor atendido pela função embutida `sum`,
224224
disponível desde o Python 2.3 (lançado em 2003).
225225
A função `sum` é mais legível e mais eficiente:
226226

@@ -520,7 +520,7 @@ Após esse mergulho nos recursos flexíveis de declaração de argumentos no Pyt
520520

521521
=== Pacotes para programação funcional
522522

523-
Apesar((("functions, as first-class objects", "packages for functional programming", id="FAFfp07")))((("functional programming", "packages for", id="fprogpack07"))) de Guido deixar claro que não projetou Python para ser uma linguagem de programação funcional, o estilo de programação funcional pode ser amplamente utilizado, graças a funções de primeira classe, _pattern matching_ e o suporte de pacotes como `operator` e `functools`, dos quais falaremos nas próximas duas seções..
523+
Apesar((("functions, as first-class objects", "packages for functional programming", id="FAFfp07")))((("functional programming", "packages for", id="fprogpack07"))) de Guido deixar claro que não projetou Python para ser uma linguagem de programação funcional, o estilo de programação funcional pode ser amplamente utilizado, graças a funções de primeira classe, _pattern matching_ e o suporte de pacotes como `operator` e `functools`, dos quais falaremos nas próximas duas seções.
524524

525525

526526
[[operator_module_section]]
@@ -529,7 +529,7 @@ Apesar((("functions, as first-class objects", "packages for functional programmi
529529
Na((("operator module", id="opmod07"))) programação funcional, é muitas vezes conveniente usar um operador aritmético como uma função.
530530
Por exemplo, suponha que você queira multiplicar uma sequência de números para calcular fatoriais, mas sem usar recursão.
531531
Para calcular a soma, podemos usar `sum`, mas não há uma função equivalente para multiplicação.
532-
Você poderia usar ++reduce++—como vimos na <<map_filter_reduce>>—mas isso exige um função para multiplicar dois itens da sequência.
532+
Você poderia usar ``reduce``—como vimos na <<map_filter_reduce>>—mas isso exige um função para multiplicar dois itens da sequência.
533533
O <<fact_reduce_lambda_ex>> mostra como resolver esse problema usando `lambda`.
534534

535535
[[fact_reduce_lambda_ex]]
@@ -594,7 +594,7 @@ Isso é mais fácil de escrever e ler que `lambda fields: fields[1]`, que faz a
594594
----
595595
====
596596

597-
Se você passar múltiplos argumentos de indice para `itemgetter`, a função criada por ela vai devolver tuplas com os valores extraídos, algo que pode ser útil para ordenar((("keys", "sorting multiple"))) usando chaves múltiplas:
597+
Se você passar vários índices como argumentos para `itemgetter`, a função criada por ela vai devolver tuplas com os valores extraídos, algo que pode ser útil para ordenar((("keys", "sorting multiple"))) usando chaves múltiplas:
598598

599599
[source, python]
600600
----
@@ -868,7 +868,7 @@ Nesse artigo, Python é mencionado nominalmente na seguinte passagem:
868868
[quote]
869869
____
870870
E como descrever linguagens como Python, Ruby, ou Perl?
871-
Seus criadores não tem paciência com as sutilezas dessas nomenclaturas de Lineu;
871+
Seus criadores não têm paciência com as sutilezas dessas nomenclaturas de Lineu;
872872
eles pegam emprestados todos os recursos que desejam, criando misturas que desafiam totalmente uma caracterização.
873873
____
874874
@@ -915,7 +915,7 @@ das restrições sintáticas específicas de Python,
915915
funções anônimas tem uma séria desvantagem em qualquer linguagem: elas não tem nome.
916916
917917
Estou brincando, mas não muito.
918-
Os _stack traces_ são mais fáceis de ler quando as funções tem nome.
918+
Os _stack traces_ são mais fáceis de ler quando as funções têm nome.
919919
Funções anônimas são um atalho conveniente, nos divertimos programando com elas, mas algumas vezes elas são levadas longe demais—especialmente se a linguagem e o ambiente encorajam o aninhamento profundo de funções anônimas, como faz o Javascript combinado com o Node.js.
920920
Ter muitas funções anônimas aninhadas torna a depuração e o tratamento de erros mais difíceis.
921921
A programação assíncrona no Python é mais estruturada, talvez pela sintaxe limitada do `lambda` impedir seu abuso e forçar uma abordagem mais explícita.

online/cap08.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ E quando você estiver lendo essas linhas, talvez os resultados também sejam di
198198

199199
Se a assinatura de uma função não tem anotações, Mypy a ignora por default—a menos que seja configurado de outra forma.
200200

201-
O <<msgs_test_no_hints>> também inclui testes de unidade do `pytest`.
201+
O <<msgs_test_no_hints>> também inclui testes unitários do `pytest`.
202202
Este é o código de _messages_test.py_:
203203

204204
[[msgs_test_no_hints]]
@@ -2214,7 +2214,7 @@ https://fpy.li/8-37["Strong Typing vs. Strong Testing"] (EN) de Bruce Eckel, tam
22142214
Bruce é um fã de Python, e autor de livros sobre C&#x2b;&#x2b;, Java, Scala, e
22152215
Kotlin.
22162216
Naquele texto, ele conta como foi um defensor da tipagem estática até aprender Python, e conclui:
2217-
"Se um programa em Python tem testes de unidade adequados, ele poderá ser tão robusto quanto um programa em C&#x2b;&#x2b;, Java, ou C# com testes de unidade adequados (mas será mais rápido escrever os testes em Python).
2217+
"Se um programa em Python tem testes unitários adequados, ele poderá ser tão robusto quanto um programa em C&#x2b;&#x2b;, Java, ou C# com testes unitários adequados (mas será mais rápido escrever os testes em Python).
22182218
====
22192219

22202220
// [role="pagebreak-before less_space"]
@@ -2287,7 +2287,7 @@ https://fpy.li/8-41["The state of type hints in Python"] (EN):
22872287

22882288
[quote]
22892289
____
2290-
Dicas de Tipo deveriam ser usadas sempre que valha à pena escrever testes de unidade .
2290+
Dicas de Tipo deveriam ser usadas sempre que valha à pena escrever testes unitários .
22912291
____
22922292

22932293
Sou um grande fã de testes, mas também escrevo muito código exploratório.

print/1/experimento-1/cap05.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1335,7 +1335,7 @@ Improving the Design of Existing Code</em> (<em>Refatorando: Melhorando o Design
13351335
português—uma tradução quase literal seria "fedor no código".
13361336
Uma tradução mais gentil pode ser "cheiro no código", adotado aqui.
13371337
Mais gentil e menos enviesada: um "cheiro no código" nem sempre é indicação de um problema.]—padrões
1338-
no código que podem indicar a necessidade de refatoração. O verbete entitulado "Data Class"
1338+
no código que podem indicar a necessidade de refatoração. O verbete intitulado "Data Class"
13391339
(_Classe de Dados_) começa assim:
13401340

13411341
[quote]

vol1/Prefacio.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ Algumas vezes vou explicar o que queremos realizar mostrando um _doctest_ antes
157157
Estabelecer precisamente o quê deve ser feito, antes de pensar sobre como fazer, ajuda a focalizar nosso esforço de codificação.
158158
Escrever os testes previamente é a base de desenvolvimento dirigido por testes (TDD, _test-driven development_), e também acho essa técnica útil para ensinar.
159159

160-
Também((("pytest package")))((("unittest module"))) escrevi testes de unidade para alguns dos exemplos maiores usando _pytest_—que acho mais fácil de usar e mais poderoso que o módulo _unittest_ da bibliotexa padrão.
160+
Também((("pytest package")))((("unittest module"))) escrevi testes unitários para alguns dos exemplos maiores usando _pytest_—que acho mais fácil de usar e mais poderoso que o módulo _unittest_ da biblioteca padrão.
161161
Você vai descobrir que pode verificar a maior parte do código do livro digitando `python3 -m doctest example_script.py` ou `pytest` no console de seu sistema operacional.
162162
A configuração do _pytest.ini_, na raiz do «repositório do código de exemplo» [.small]#&#91;fpy.li/code&#93;#, assegura que _doctests_ são coletados e executados pelo comando `pytest`.((("", startref="Papproach00")))
163163

@@ -166,7 +166,7 @@ A configuração do _pytest.ini_, na raiz do «repositório do código de exempl
166166

167167
Venho usando, ensinando e debatendo Python desde 1998, e gosto de estudar e comparar linguagens de programação, seus projetos e a teoria por trás delas. Ao final de alguns capítulos acrescentei uma seção "Ponto de vista", apresentando minha perspectiva sobre Python e outras linguagens. Você pode pular essas partes, se não tiver interesse em tais discussões. Seu conteúdo é inteiramente opcional.
168168

169-
=== Conteúdo na na Web
169+
=== Conteúdo na Web
170170

171171
Criei dois sites para este livro:
172172

vol1/cap05.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1338,7 +1338,7 @@ português—uma tradução quase literal seria "fedor no código".
13381338
Uma tradução mais gentil pode ser "cheiro no código", adotado aqui.
13391339
Mais gentil e menos enviesada: um "cheiro no código" nem sempre é indicação de um problema.]—padrões
13401340
no código que podem indicar a necessidade de refatoração.
1341-
O verbete entitulado "Data Class"
1341+
O verbete intitulado "Data Class"
13421342
(_Classe de Dados_) começa assim:
13431343

13441344
[quote]

0 commit comments

Comments
 (0)