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/cap15.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
@@ -1158,7 +1158,7 @@ Dada a instabilidade da situação atual, se você precisar ler anotações dura
1158
1158
1159
1159
* Evite ler `+__annotations__+` diretamente; em vez disso, use `inspect.get_annotations` (desde o Python 3.10) ou `typing.get_type_hints` (desde o Python 3.5).
1160
1160
* Escreva uma função customizada própria, como um invólucro para
1161
-
pass:[<code>in​spect​.get_annotations</code>] ou `typing.get_type_hints`, e faça o restante de sua base de código chamar aquela função, de forma que mudanças futuras fiquem restritas a um único local.
1161
+
`inspect.get_annotations` ou `typing.get_type_hints`, e faça o restante de sua base de código chamar aquela função, de forma que mudanças futuras fiquem restritas a um único local.
1162
1162
1163
1163
Para demonstrar esse segundo ponto, aqui estão as primeiras linhas da classe `Checked`,
1164
1164
que estudaremos no <<ex_checked_class_top>> do <<ch_class_metaprog>>:
@@ -1745,7 +1745,7 @@ do <<ch_ifaces_prot_abc>>.
1745
1745
O sistema de tipos de Python é um campo imenso e em rápida expansão. Este
1746
1746
capítulo não é abrangente. Escolhi me concentrar em tópicos que são
1747
1747
amplamente aplicáveis, ou particularmente complexos, ou conceitualmente
1748
-
importantes, e que assim provavelmente se manterão relevantes por mais
1748
+
importantes, e que provavelmente serão relevantes por mais
<1> `.findall` devolve a lista com todos os trechos não sobrepostos
106
106
correspondentes à expressão regular, como uma lista de strings.
107
107
108
-
<2> `self.words` mantém o resultado de `.findall`, então basta devolver a
108
+
<2> `self.words` preserva o resultado de `.findall`, então basta devolver a
109
109
palavra em um dado índice.
110
110
111
111
<3> Para completar o protocolo de sequência, implementamos `+__len__+`, apesar
@@ -630,7 +630,7 @@ ____
630
630
631
631
Para "suportar travessias múltiplas", deve ser possível obter múltiplos
632
632
iteradores independentes a partir de um mesmo objeto iterável, e cada
633
-
iterador deve manter seu próprio estado interno. Assim, uma implementação
633
+
iterador deve preservar seu próprio estado interno. Assim, uma implementação
634
634
adequada do padrão exige que cada invocação de `iter(meu_iterável)` crie um novo
635
635
iterador independente. Por isso precisamos da classe
636
636
`SentenceIterator` neste exemplo.
@@ -2133,7 +2133,7 @@ Após esse primeiro encontro com `yield from`, vamos olhar as dicas de tipo para
2133
2133
[[generic_iterable_types_sec]]
2134
2134
=== Tipos iteráveis genéricos
2135
2135
2136
-
A((("generators", "generic iterable types")))((("iterators", "generic iterable types"))) bilbioteca padrão de Python contém muitas funções que aceitam argumentos iteráveis.
2136
+
A((("generators", "generic iterable types")))((("iterators", "generic iterable types"))) biblioteca padrão de Python contém muitas funções que aceitam argumentos iteráveis.
2137
2137
Em seu código, tais funções podem ser anotadas como a função `zip_replace`, vista no <<replacer_ex>>,
2138
2138
usando `collections.abc.Iterable` (ou `typing.Iterable`, se você precisa suporta Python 3.8 ou anterior, como explicado no <<legacy_deprecated_typing_box>>). Veja o <<replacer_iterable_ex>>.
2139
2139
@@ -2317,10 +2317,19 @@ Vamos ver agora como as corrotinas clássicas funcionam.
2317
2317
2318
2318
==== Exemplo: Corrotina para computar uma média móvel
O <<ex_average_oo>> mostra uma classe e o <<ex_average_fixed>> apresenta uma função de ordem superior devolvendo uma função que mantem as variáveis `total` e `count` entre invocações, em uma clausura.
2323
-
O <<ex_coroaverager>> mostra como fazer o mesmo com uma corrotina.footnote:[Este exemplo foi inspirado por um trecho enviado por Jacob Holm à lista Python-ideas, em uma mensagem intitulada https://fpy.li/17-20[_Yield-From: Finalization guarantees_] (Yield-From: Garantias de finalização). Algumas variantes aparecem mais tarde na mesma thread, e Holm dá mais explicações sobre suas ideia na https://fpy.li/17-21[«mensagem 003912»].]
Copy file name to clipboardExpand all lines: online/cap19.adoc
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -642,7 +642,7 @@ Considere a função `is_prime` no <<def_is_prime_ex>>,
642
642
que retorna `True` se o argumento for um número primo, `False` se não for.
643
643
644
644
[[def_is_prime_ex]]
645
-
.primes.py: uma checagem de números primos fácil de entender, do exemplo em https://fpy.li/aa[pass:[<code>ProcessPool​Executor</code>] na documentação de Python]
645
+
.primes.py: uma checagem de números primos fácil de entender, do exemplo em https://fpy.li/aa[`ProcessPoolExecutor`] na documentação de Python]
646
646
====
647
647
[source, python]
648
648
----
@@ -668,7 +668,7 @@ ____
668
668
669
669
Antes de executar o código ou continuar lendo,
670
670
recomendo chegar as respostas por você mesmo.
671
-
Depois, copie e modifique os exemplos pass:[<em>spinner_*.py</em>] como sugerido.
671
+
Depois, copie e modifique os exemplos _spinner_ como sugerido.
672
672
673
673
Agora as respostas, da mais fácil para a mais difícil.
<1> Na tentativa de emular `threading`, `multiprocessing` fornece `multiprocessing.SimpleQueue`, mas esse é um método vinculado a uma instância pré-definida de uma classe de nível mais baixo, `BaseContext`.
902
902
Temos que chamar essa `SimpleQueue` para criar uma fila. Mas não podemos usá-la em dicas de tipo.
903
903
<2> `multiprocessing.queues` contém a classe `SimpleQueue` que precisamos para dicas de tipo.
904
-
<3> `PrimeResult` inclui o número checado. Manter `n` junto com os outros campos do resultado simplifica a exibição mais tarde.
904
+
<3> `PrimeResult` inclui o número checado. Preservar `n` com os outros campos do resultado simplifica a exibição mais tarde.
905
905
<4> Isso é um apelido de tipo para uma `SimpleQueue` que a função `main` (<<primes_procs_main_ex>>) vai usar para enviar os números para os processos que farão a checagem.
906
906
<5> Apelido de tipo para uma segunda `SimpleQueue` que vai coletar os resultados em `main`. Os valores na fila serão tuplas contendo o número a ser testado e uma tupla `Result`.
907
907
<6> Isso é similar a _sequential.py_.
@@ -1728,7 +1728,7 @@ capitulo. Então temos aqui exemplos dos dois pecados descritos pelo Prof. Simon
1728
1728
usar palavras diferentes para se referir à mesma coisa, e usar uma palavra para
1729
1729
se referir a coisas diferentes.]
1730
1730
1731
-
* Um ator pode manter um estado interno, mas não pode compartilhar esse estado com outros atores.
1731
+
* Um ator pode ter um estado interno, mas não pode compartilhar esse estado com outros atores.
1732
1732
* Atores só podem se comunicar enviando e recebendo mensagens.
1733
1733
* Mensagens só contém cópias de dados, e não referências para dados mutáveis.
1734
1734
* Um ator só processa uma mensagem de cada vez. Não há execução concorrente dentro de um único ator.
0 commit comments