Skip to content

Commit 7e01a5d

Browse files
committed
cap14: paginação
1 parent 1140978 commit 7e01a5d

File tree

5 files changed

+80
-58
lines changed

5 files changed

+80
-58
lines changed

online/cap08.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Dicas de tipo((("functions, type hints in",
1515
foram a maior mudança na história de Python desde
1616
https://fpy.li/descr101[a unificação de tipos e classes]
1717
no Python 2.2, lançado em 2001.
18-
Entretanto, as dicas de tipo não beneficiam igualmente a todos as pessoas que usam Python.
18+
Entretanto, as dicas de tipo não beneficiam igualmente todas as pessoas que usam Python.
1919
Por isso deverão ser sempre opcionais.
2020

2121
A

online/cap14.adoc

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -680,8 +680,8 @@ caso contrário os métodos chamados seriam os de `UserDict`.
680680
a sintaxe da instrução `class`, que precisa ter um corpo.
681681

682682

683-
Aqui estão alguns doctests de
684-
https://fpy.li/14-11[_uppermixin.py_], para `UpperDict`:
683+
Aqui estão alguns doctests de `UpperDict`, do módulo
684+
https://fpy.li/14-11[_uppermixin.py_]:
685685

686686
[source, python]
687687
----
@@ -739,14 +739,14 @@ mencionado, o Java 8 permite que interfaces também forneçam implementações d
739739
métodos. Esse novo recurso é chamado https://fpy.li/14-12[_Default Methods_]
740740
(Métodos Default) no Tutorial oficial de Java.]
741741

742-
A documentação oficial de Python para
742+
A documentação oficial do pacote
743743
https://fpy.li/6z[`collections.abc`]
744-
usa o termo _mixin method_ (método mixin) para os métodos concretos
745-
implementados em muitas das coleções nas ABCs. As ABCs que oferecem métodos
744+
chama de _mixin methods_ (métodos mixin) os métodos concretos
745+
implementados nas ABCs de coleções. As ABCs que oferecem métodos
746746
mixin cumprem dois papéis: elas são definições de interfaces e também classes
747747
mixin. Por exemplo, a
748-
https://fpy.li/14-14[implementação de `collections.UserDict`] recorre a
749-
vários dos métodos mixim fornecidos por `collections.abc.MutableMapping`.
748+
https://fpy.li/14-14[«implementação»] de `collections.UserDict` aproveita
749+
vários dos métodos mixin fornecidos por `collections.abc.MutableMapping`.
750750

751751
==== ThreadingMixIn e ForkingMixIn
752752

@@ -901,8 +901,9 @@ então ela implementa apenas `get`. Se uma requisição HTTP `POST` é enviada p
901901
uma `TemplateView`, o método herdado `View.dispatch` verifica que não há um
902902
método de tratamento para `post`, e produz uma resposta HTTP `405 Method Not
903903
Allowed`.footnote:[Se você gosta de padrões de projetos, note que o mecanismo de
904-
despacho do Django é uma variação dinâmica do padrão https://fpy.li/75[Template
905-
Method (_Método Template_]. Ele é dinâmico porque a classe `View` não obriga
904+
despacho do Django é uma variação dinâmica do padrão
905+
https://fpy.li/75[_Template Method_] (Método Template).
906+
Ele é dinâmico porque a classe `View` não obriga
906907
subclasses a implementarem todos os métodos de tratamento, mas `dispatch`
907908
verifica, durante a execução, se um método de tratamento concreto está
908909
disponível para cada requisição específica.]
@@ -970,7 +971,7 @@ próxima seção.
970971

971972
Usei parte da
972973
hierarquia de componentes do Tkinter para ilustrar a MRO na
973-
<<tkwidgets_mro_uml>>. A <<tkinter_uml>> mostra todos as classes de componentes
974+
<<tkwidgets_mro_uml>>. A <<tkinter_uml>> mostra todas as classes de componentes
974975
no pacote base `tkinter` (há mais componentes gráficos no subpacote
975976
https://fpy.li/77[`tkinter.ttk`]).
976977

vol2/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ e faço as demais tarefas nestas cópias especiais para impressão.
1515
|||||||||`/vol2`| refazer referências entre volumes|
1616
|||||||||`/vol2`| encurtar links entre volumes |
1717
|||||||||`/vol2`| exibir capítulo alvo em xrefs para exemplos de outros capítulos |
18-
|||||| | | |`/vol2`| rever paginação |
18+
|||||| | | |`/vol2`| rever paginação |
1919

vol2/cap13.adoc

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1693,8 +1693,8 @@ possíveis.footnote:[Concordo que `double()` não é muito útil, exceto como um
16931693
Mas a biblioteca padrão de Python tem muitas funções que não poderiam ser
16941694
anotadas de modo apropriado antes dos protocolos estáticos serem adicionados, no
16951695
Python 3.8. Ajudei a corrigir alguns bugs no _typeshed_ acrescentando dicas de
1696-
tipo com protocolos. Por exemplo, no _pull request_ que consertou
1697-
https://fpy.li/shed4051[_Should Mypy warn about potential invalid arguments to`max`?_]
1696+
tipo com protocolos. Por exemplo, no _pull request_ onde consertei
1697+
https://fpy.li/shed4051[_Should Mypy warn about potential invalid arguments to `+max+`?_]
16981698
(Deveria o Mypy avisar sobre argumentos potencialmente inválidos passados a `max`?)
16991699
defini um protocolo `_SupportsLessThan`, que usei para melhorar
17001700
as anotações de `max`, `min`, `sorted`, e `list.sort`.]
@@ -2012,7 +2012,7 @@ para a presença ou ausência de métodos, sem checar sequer suas assinaturas,
20122012
muito menos suas anotações de tipo. E isso não vai mudar tão cedo, porque este
20132013
tipo de checagem de tipos durante a execução traria um custo de processamento
20142014
inaceitável.footnote:[Agradeço a Ivan Levkivskyi, co-autor da
2015-
https://fpy.li/pep544[PEP 544] (sobre protocolos), por apontar que checagem de
2015+
https://fpy.li/pep544[«PEP 544 (sobre protocolos)»], por apontar que checagem de
20162016
tipo não é apenas uma questão de checar se o tipo de `x` é `T`: é sobre
20172017
determinar que o tipo de `x` é _consistente-com_ `T`, o que pode ser custoso.
20182018
Não é de se espantar que o Mypy leve alguns segundos para fazer uma checagem
@@ -2722,7 +2722,7 @@ certeza de que um objeto `str` terá sempre os mesmos métodos. Esta limitação
27222722
a chance de bibliotecas aplicarem correções conflitantes quando importadas em
27232723
seu projeto.
27242724
2725-
**Metáforas e idiomas em interfaces**
2725+
**Metáforas e _idioms_ em interfaces**
27262726
27272727
Uma((("Soapbox sidebars", "interfaces"))) metáfora promove o entendimento
27282728
tornando restrições e acessos visíveis. Esse é o valor das palavras _stack_
@@ -2752,11 +2752,17 @@ lugar "interfaces idiomáticas", foi a lição mais valiosa que aprendi com o
27522752
trabalho de Cooper.
27532753
27542754
Em _About Face_, Cooper não lida com APIs, mas quanto mais penso em suas ideias,
2755-
mais vejo como se aplicam ao Python. Os protocolos fundamentais da linguagem são
2756-
o que Cooper chama de "idiomas." Uma vez que aprendemos o que é uma "sequência",
2757-
podemos aplicar esse conhecimento em diferentes contextos. Esse é o tema
2758-
principal de _Python Fluente_: ressaltar os idiomas fundamentais da linguagem,
2759-
para que o seu código seja conciso, efetivo e legível para um pythonista
2755+
mais vejo como se aplicam ao Python. Cada protocolo fundamental da linguagem é
2756+
o que Cooper chama de _idiom_ (idiomatismo).footnote:[Neste contexto,
2757+
a tradução correta de _idiom_ não é "idioma", mas sim "idiomatismo" que é uma
2758+
"construção ou locução peculiar a uma língua".
2759+
Cooper defende que uma GUI
2760+
é uma linguagem com locuções peculiares, como menus e caixas de diálogo.]
2761+
2762+
Uma vez que aprendemos o que é uma "sequência",
2763+
podemos aplicar este conhecimento em diferentes contextos. Este é o tema
2764+
principal de _Python Fluente_: ressaltar os idiomatismos fundamentais da linguagem,
2765+
para que o seu código seja conciso, eficaz e legível para um pythonista
27602766
fluente.((("", startref="ABCsoap13")))((("", startref="Psoap13")))((("",
27612767
startref="Isoap13")))
27622768

0 commit comments

Comments
 (0)