You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: online/Prefacio.adoc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -127,7 +127,7 @@ Algumas vezes vou explicar o que queremos realizar mostrando um _doctest_ antes
127
127
Estabelecer precisamente o quê deve ser feito, antes de pensar sobre como fazer, ajuda a focalizar nosso esforço de codificação.
128
128
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.
129
129
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.
131
131
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.
132
132
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")))
133
133
@@ -136,7 +136,7 @@ A configuração do _pytest.ini_, na raiz do https://fpy.li/code[repositório do
136
136
137
137
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.
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.
192
192
Uma listcomp ou uma genexp fazem o mesmo que `map` e `filter` combinadas, e são mais legíveis.
193
193
Considere o <<reduce_x_sum>>.
194
194
@@ -220,7 +220,7 @@ sua substituta direta agora é uma expressão geradora
220
220
(no Python 2, essas funções devolviam listas, então sua alternativa mais próxima era a compreensão de lista).
221
221
222
222
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`,
224
224
disponível desde o Python 2.3 (lançado em 2003).
225
225
A função `sum` é mais legível e mais eficiente:
226
226
@@ -520,7 +520,7 @@ Após esse mergulho nos recursos flexíveis de declaração de argumentos no Pyt
520
520
521
521
=== Pacotes para programação funcional
522
522
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.
524
524
525
525
526
526
[[operator_module_section]]
@@ -529,7 +529,7 @@ Apesar((("functions, as first-class objects", "packages for functional programmi
529
529
Na((("operator module", id="opmod07"))) programação funcional, é muitas vezes conveniente usar um operador aritmético como uma função.
530
530
Por exemplo, suponha que você queira multiplicar uma sequência de números para calcular fatoriais, mas sem usar recursão.
531
531
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.
533
533
O <<fact_reduce_lambda_ex>> mostra como resolver esse problema usando `lambda`.
534
534
535
535
[[fact_reduce_lambda_ex]]
@@ -594,7 +594,7 @@ Isso é mais fácil de escrever e ler que `lambda fields: fields[1]`, que faz a
594
594
----
595
595
====
596
596
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:
598
598
599
599
[source, python]
600
600
----
@@ -868,7 +868,7 @@ Nesse artigo, Python é mencionado nominalmente na seguinte passagem:
868
868
[quote]
869
869
____
870
870
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;
872
872
eles pegam emprestados todos os recursos que desejam, criando misturas que desafiam totalmente uma caracterização.
873
873
____
874
874
@@ -915,7 +915,7 @@ das restrições sintáticas específicas de Python,
915
915
funções anônimas tem uma séria desvantagem em qualquer linguagem: elas não tem nome.
916
916
917
917
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.
919
919
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.
920
920
Ter muitas funções anônimas aninhadas torna a depuração e o tratamento de erros mais difíceis.
921
921
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.
Copy file name to clipboardExpand all lines: online/cap08.adoc
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -198,7 +198,7 @@ E quando você estiver lendo essas linhas, talvez os resultados também sejam di
198
198
199
199
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.
200
200
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`.
202
202
Este é o código de _messages_test.py_:
203
203
204
204
[[msgs_test_no_hints]]
@@ -2214,7 +2214,7 @@ https://fpy.li/8-37["Strong Typing vs. Strong Testing"] (EN) de Bruce Eckel, tam
2214
2214
Bruce é um fã de Python, e autor de livros sobre C++, Java, Scala, e
2215
2215
Kotlin.
2216
2216
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++, 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++, Java, ou C# com testes unitários adequados (mas será mais rápido escrever os testes em Python).
2218
2218
====
2219
2219
2220
2220
// [role="pagebreak-before less_space"]
@@ -2287,7 +2287,7 @@ https://fpy.li/8-41["The state of type hints in Python"] (EN):
2287
2287
2288
2288
[quote]
2289
2289
____
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 .
2291
2291
____
2292
2292
2293
2293
Sou um grande fã de testes, mas também escrevo muito código exploratório.
Copy file name to clipboardExpand all lines: vol1/Prefacio.adoc
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -157,7 +157,7 @@ Algumas vezes vou explicar o que queremos realizar mostrando um _doctest_ antes
157
157
Estabelecer precisamente o quê deve ser feito, antes de pensar sobre como fazer, ajuda a focalizar nosso esforço de codificação.
158
158
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.
159
159
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.
161
161
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.
162
162
A configuração do _pytest.ini_, na raiz do «repositório do código de exemplo» [.small]#[fpy.li/code]#, assegura que _doctests_ são coletados e executados pelo comando `pytest`.((("", startref="Papproach00")))
163
163
@@ -166,7 +166,7 @@ A configuração do _pytest.ini_, na raiz do «repositório do código de exempl
166
166
167
167
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.
0 commit comments