Skip to content

Commit 62a1efb

Browse files
committed
errata #111
1 parent 56e5677 commit 62a1efb

File tree

8 files changed

+29
-26
lines changed

8 files changed

+29
-26
lines changed

online/cap02.adoc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ ordenada por naipe e então por valor:
378378
for rank in self.ranks]
379379
----
380380

381-
Listcomps são mágicas de truque só: elas criam listas.
381+
Listcomps são mágicas de um truque só: elas criam listas.
382382
Para gerar dados para outros tipos de sequências, uma genexp é o caminho.
383383
A próxima seção é uma pequena incursão às genexps, no contexto de criação de sequências que não são
384384
listas.((("", startref="cartprod02")))
@@ -610,17 +610,17 @@ True
610610
False
611611
----
612612

613-
Vamos aprofundar essa questão em <<tuple-relative-immutable>>.
613+
Vamos aprofundar essa questão na <<tuple_relative_immutable_sec>>.
614614

615615
Apesar dessa ressalva, as tuplas são frequentemente usadas como listas imutáveis.
616-
Elas oferecem algumas vantagens de desempenho, explicadas por uma dos desenvolvedores principais de Python,
616+
Elas oferecem algumas vantagens de desempenho, explicadas por um dosdesenvolvedores principais de Python,
617617
Raymond Hettinger, em uma resposta à questão
618618
https://fpy.li/2-3["Are tuples more efficient than lists in Python?" (_As tuplas são mais eficientes que as listas no Python?_)]
619619
no StackOverflow.
620620
Em resumo, Hettinger escreveu:
621621

622-
* Para avaliar uma tupla literal, o compilador Python gera bytecode para uma constante tupla em uma operação;
623-
mas para um literal lista, o bytecode gerado insere cada elemento como uma constante separada na pilha,
622+
* Para avaliar uma tupla literal como `(1, 2, 3)`, o compilador Python gera bytecode para uma constante tupla em uma operação;
623+
mas para um literal lista, `[1, 2, 3]`, o bytecode gerado insere cada elemento como uma constante separada na pilha,
624624
e então cria a lista.
625625
* Dada a tupla `t`, `tuple(t)` simplesmente devolve uma referência para a mesma `t`. Não há necessidade de cópia.
626626
Por outro lado, dada uma lista `l`, o construtor `list(l)` precisa criar uma nova cópia de `l`.
@@ -929,15 +929,15 @@ O sujeito contém os dados que Python vai comparar aos padrões em cada instruç
929929
O primeiro item deve ser a string `BEEPER`.
930930
O segundo e o terceiro itens podem ser qualquer coisa, e serão vinculados às variáveis `frequency` e `times`, nessa ordem.
931931
<3> Isso casa com qualquer sujeito com dois itens, se o primeiro for `'NECK'`.
932-
<4> Isso vai casar com uma sujeito de três itens começando com `LED`.
932+
<4> Isso vai casar com um sujeito de três itens começando com `LED`.
933933
Se o número de itens não for correspondente, Python segue para o próximo `case`.
934934
<5> Outro padrão de sequência começando com `'LED'`, agora com cinco itens—incluindo a constante `'LED'`.
935935
<6> Esse é o `case` default.
936936
Vai casar com qualquer sujeito que não tenha sido capturado por um dos padrões precedentes.
937937
A variável `_` é especial, como logo veremos.
938938

939939
Olhando((("pattern matching", "destructuring"))) superficialmente,
940-
`match/case` se parece instrução `switch/case` da linguagem C—mas isso é só uma pequena parte da sua
940+
`match/case` se parece com a instrução `switch/case` da linguagem C—mas isso é só uma pequena parte da sua
941941
funcionalidade.footnote:[Na minha opinião, uma sucessão `if/elif/elif/.../else` funciona muito bem no lugar de `switch/case`.
942942
E ela não sofre dos problemas de https://fpy.li/2-8[fallthrough (_cascateamento_)] (EN) e de
943943
https://fpy.li/2-9[dangling else (_o `else` errante_)] (EN),

online/cap06.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ Para concluir essa discussão de identidade versus igualdade,
340340
vamos ver como o tipo notoriamente imutável `tuple` não é assim tão invariável quanto você poderia supor.
341341

342342

343-
[[tuple-relative-immutable]]
343+
[[tuple_relative_immutable_sec]]
344344
==== A imutabilidade relativa das tuplas
345345

346346
As tuplas, como((("tuples", "relative immutability of"))) a maioria das coleções em

online/cap07.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ Introduzidas no Python 3.5.
354354
Funções geradoras assíncronas:: Funções((("asynchronous generators"))) ou métodos definidos com `async def`, contendo `yield` em seu corpo.
355355
Quando chamados, devolvem um gerador assíncrono para ser usado com `async for`. Introduzidas no Python 3.6.
356356

357-
Funções geradoras, funções de corrotinas nativas e geradoras assíncronas são diferentes de outros invocáveis: os valores devolvidos tais funções nunca são dados da aplicação, mas objetos que exigem processamento adicional, seja para produzir dados da aplicação, seja para realizar algum trabalho útil.
357+
Funções geradoras, funções de corrotinas nativas e geradoras assíncronas são diferentes de outros invocáveis: os valores devolvidos por tais funções nunca são dados da aplicação, mas objetos que exigem processamento adicional, seja para produzir dados da aplicação, seja para realizar algum trabalho útil.
358358
Funções geradoras devolvem iteradores.
359359
Ambos são tratados no <<ch_generators>>.
360360
Funções de corrotinas nativas e funções geradoras assíncronas devolvem objetos que só funcionam com a ajuda de um framework de programação assíncrona, tal como _asyncio_.

online/cap21.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -809,7 +809,7 @@ Veja o artigo https://pt.wikipedia.org/wiki/Listas_invertidas["Listas Invertidas
809809
==== Um serviço web com FastAPI
810810

811811
Escrevi((("FastAPI framework", id="fastapi21"))) o próximo exemplo—_web_mojifinder.py_—usando a https://fpy.li/21-28[_FastAPI_]:
812-
uma dos frameworks ASGI de desenvolvimento Web de Python, mencionada na <<asgi_note>>.
812+
um dosframeworks ASGI de desenvolvimento Web de Python, mencionada na <<asgi_note>>.
813813
A <<web_mojifinder_result>> é uma captura de tela da interface de usuário.
814814
É uma aplicação muito simples, de uma página só (SPA, Single Page Application): após o download inicial do HTML, a interface é atualizada via Javascript no cliente, em comunicação com o servidor.
815815

print/1/experimento-1/cap02.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -608,10 +608,10 @@ True
608608
False
609609
----
610610

611-
Vamos aprofundar essa questão em <<tuple-relative-immutable>>.
611+
Vamos aprofundar essa questão na <<tuple_relative_immutable_sec>>.
612612

613613
Apesar dessa ressalva, as tuplas são frequentemente usadas como listas imutáveis.
614-
Elas oferecem algumas vantagens de desempenho, explicadas por uma dos desenvolvedores principais de Python,
614+
Elas oferecem algumas vantagens de desempenho, explicadas por um dosdesenvolvedores principais de Python,
615615
Raymond Hettinger, em uma resposta à questão
616616
https://fpy.li/2-3["Are tuples more efficient than lists in Python?" (_As tuplas são mais eficientes que as listas no Python?_)]
617617
no StackOverflow. Em resumo, Hettinger escreveu:
@@ -924,7 +924,7 @@ O sujeito contém os dados que Python vai comparar aos padrões em cada instruç
924924
<2> Esse padrão casa com qualquer sujeito que seja uma sequência de três itens. O primeiro item deve ser a string `BEEPER`.
925925
O segundo e o terceiro itens podem ser qualquer coisa, e serão vinculados às variáveis `frequency` e `times`, nessa ordem.
926926
<3> Isso casa com qualquer sujeito com dois itens, se o primeiro for `'NECK'`.
927-
<4> Isso vai casar com uma sujeito de três itens começando com `LED`.
927+
<4> Isso vai casar com um sujeito de três itens começando com `LED`.
928928
Se o número de itens não for correspondente, Python segue para o próximo `case`.
929929
<5> Outro padrão de sequência começando com `'LED'`, agora com cinco itens—incluindo a constante `'LED'`.
930930
<6> Esse é o `case` default. Vai casar com qualquer sujeito que não tenha sido capturado por um dos padrões precedentes.

print/1/experimento-1/cap06.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ Para concluir essa discussão de identidade versus igualdade,
326326
vamos ver como o tipo notoriamente imutável `tuple` não é assim tão invariável quanto você poderia supor.
327327

328328

329-
[[tuple-relative-immutable]]
329+
[[tuple_relative_immutable_sec]]
330330
==== A imutabilidade relativa das tuplas
331331

332332
As tuplas, como((("tuples", "relative immutability of"))) a maioria das coleções em

vol1/cap02.adoc

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Sequências planas::
8282

8383
Uma((("tuples", "simplified memory diagram for")))((("arrays"))) _sequência contêiner_ mantém
8484
referências para os objetos que contém, que podem ser de qualquer tipo,
85-
enquanto uma _sequência plana_ armazena o valor de seu conteúdo em seu próprio espaço de memória,
85+
enquanto uma _sequência plana_ armazena o valor de seu conteúdo em seu próprio espaço de memória,
8686
e não como objetos Python distintos.
8787
Veja a <<container_v_flat_img>>.
8888

@@ -112,9 +112,11 @@ enquanto a tupla consiste de vários objetos—a própria tupla e cada objeto `f
112112
Outra forma de agrupar as sequências é por mutabilidade:
113113

114114
Sequências mutáveis::
115-
Por((("mutable sequences"))) exemplo, `list`, `bytearray`, `array.array` e `collections.deque`.
115+
Podem((("mutable sequences"))) ter seu conteúdo modificado, reduzido ou ampliado.
116+
Por exemplo, `list`, `bytearray`, `array.array` e `collections.deque`.
116117
Sequências imutáveis::
117-
Por((("immutable sequences"))) exemplo, `tuple`, `str`, e `bytes`.
118+
Uma((("immutable sequences"))) vez criadas, não podem ter seus itens removidos, trocados ou acrescentados.
119+
Por((("immutable sequences"))) exemplo, `tuple`, `str`, e `bytes`.footnote:[A tupla é imutável mas pode conter itens mutáveis, o que introduz complicações que veremos em <<tuple_as_immutable_list_sec>>.]
118120

119121
A <<sequence_uml>> ajuda a visualizar como as sequências mutáveis herdam todos os métodos
120122
das sequências imutáveis e implementam vários métodos adicionais.
@@ -379,7 +381,7 @@ ordenada por naipe e então por valor:
379381
for rank in self.ranks]
380382
----
381383

382-
Listcomps são mágicas de truque só: elas criam listas.
384+
Listcomps são mágicas de um truque só: elas criam listas.
383385
Para gerar dados para outros tipos de sequências, uma genexp é o caminho.
384386
A próxima seção é uma pequena incursão às genexps, no contexto de criação de sequências que não são
385387
listas.((("", startref="cartprod02")))
@@ -550,6 +552,7 @@ não apenas de tuplas, mas também de sequências e iteráveis em geral.
550552
Agora vamos considerar o uso da classe `tuple` como uma variante imutável da classe
551553
`list`.((("", startref="tuple02")))
552554

555+
[[tuple_as_immutable_list_sec]]
553556
==== Tuplas como listas imutáveis
554557

555558
O((("tuples", "as immutable lists", secondary-sortas="immutable lists", id="Timlist02")))((("lists", "using tuples as immutable",
@@ -611,17 +614,17 @@ True
611614
False
612615
----
613616

614-
Vamos aprofundar essa questão em <<tuple-relative-immutable>>.
617+
Vamos aprofundar essa questão na <<tuple_relative_immutable_sec>>.
615618

616619
Apesar dessa ressalva, as tuplas são frequentemente usadas como listas imutáveis.
617-
Elas oferecem algumas vantagens de desempenho, explicadas por uma dos desenvolvedores principais de Python,
620+
Elas oferecem algumas vantagens de desempenho, explicadas por um dosdesenvolvedores principais de Python,
618621
Raymond Hettinger, em uma resposta à questão
619-
«"Are tuples more efficient than lists in Python?" (_As tuplas são mais eficientes que as listas no Python?_)» [.small]#&#91;fpy.li/2-3&#93;#
622+
«Are tuples more efficient than lists in Python? (As tuplas são mais eficientes que as listas no Python?)» [.small]#&#91;fpy.li/2-3&#93;#
620623
no StackOverflow.
621624
Em resumo, Hettinger escreveu:
622625

623-
* Para avaliar uma tupla literal, o compilador Python gera bytecode para uma constante tupla em uma operação;
624-
mas para um literal lista, o bytecode gerado insere cada elemento como uma constante separada na pilha,
626+
* Para avaliar uma tupla literal como `(1, 2, 3)`, o compilador Python gera bytecode para uma constante tupla em uma operação;
627+
mas para um literal lista, `[1, 2, 3]`, o bytecode gerado insere cada elemento como uma constante separada na pilha,
625628
e então cria a lista.
626629
* Dada a tupla `t`, `tuple(t)` simplesmente devolve uma referência para a mesma `t`. Não há necessidade de cópia.
627630
Por outro lado, dada uma lista `l`, o construtor `list(l)` precisa criar uma nova cópia de `l`.
@@ -930,15 +933,15 @@ O sujeito contém os dados que Python vai comparar aos padrões em cada instruç
930933
e o primeiro item é a string `'BEEPER'`.
931934
O segundo e o terceiro itens podem ser qualquer coisa, e serão vinculados às variáveis `frequency` e `times`, nessa ordem.
932935
<3> Isso casa com qualquer sujeito com dois itens, se o primeiro for `'NECK'`.
933-
<4> Isso vai casar com uma sujeito de três itens começando com `LED`.
936+
<4> Isso vai casar com um sujeito de três itens começando com `LED`.
934937
Se o número de itens não for correspondente, Python segue para o próximo `case`.
935938
<5> Outro padrão de sequência começando com `'LED'`, agora com cinco itens—incluindo a constante `'LED'`.
936939
<6> Esse é o `case` default.
937940
Vai casar com qualquer sujeito que não tenha sido capturado por um dos padrões precedentes.
938941
A variável `_` é especial, como logo veremos.
939942

940943
Olhando((("pattern matching", "destructuring"))) superficialmente,
941-
`match/case` se parece instrução `switch/case` da linguagem C—mas isso é só uma pequena parte da sua
944+
`match/case` se parece com a instrução `switch/case` da linguagem C—mas isso é só uma pequena parte da sua
942945
funcionalidade.footnote:[Na minha opinião, uma sucessão `if/elif/elif/.../else` funciona muito bem no lugar de `switch/case`.
943946
E ela não sofre dos problemas de «fallthrough (_cascateamento_)» [.small]#&#91;fpy.li/2-8&#93;# (EN) e de
944947
«dangling else (_o `else` errante_)» [.small]#&#91;fpy.li/2-9&#93;# (EN),

vol1/cap06.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ Para concluir essa discussão de identidade versus igualdade,
340340
vamos ver como o tipo notoriamente imutável `tuple` não é assim tão invariável quanto você poderia supor.
341341

342342

343-
[[tuple-relative-immutable]]
343+
[[tuple_relative_immutable_sec]]
344344
==== A imutabilidade relativa das tuplas
345345

346346
As tuplas, como((("tuples", "relative immutability of"))) a maioria das coleções em

0 commit comments

Comments
 (0)