Skip to content

Commit 89ae4e5

Browse files
committed
cap01: remoção de pass:[
1 parent 1fd131a commit 89ae4e5

File tree

1 file changed

+14
-22
lines changed

1 file changed

+14
-22
lines changed

online/cap09.adoc

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,6 @@ recomendada de usar `functools.singledispatch` desde o Python 3.7.
7878
A <<parameterized_dec_sec>> agora inclui um exemplo baseado em classes, o
7979
<<clockdeco_param_cls_ex>>.
8080

81-
Transferi o pass:[<a href="#ch_design_patterns" data-type="xref"
82-
data-xrefstyle="chap-num-title">#ch_design_patterns</a>] para o final da
83-
<<function_objects_part>>, para melhorar a fluidez do livro. E a
84-
<<decorated_strategy>> também aparece agora naquele capítulo, juntamente com
85-
outras variantes do padrão de projeto Estratégia usando invocáveis.
86-
8781
Começamos com uma introdução muito suave aos decoradores, e dali seguiremos para
8882
o restante dos tópicos listados no início do capítulo.
8983

@@ -1398,11 +1392,10 @@ referenciada em `fmt`.footnote:[O revisor técnico Miroslav Šedivý observou:
13981392
"Isso também quer dizer que analisadores de código-fonte (_linters_) vão
13991393
reclamar de variáveis não utilizadas, pois eles tendem a ignorar o uso de
14001394
`locals()`." Sim, esse é mais um exemplo de como ferramentas estáticas de
1401-
verificação desencorajam o uso dos recursos dinâmicos de Python que primeiro me
1402-
atraíram (e a incontáveis outros programadores) na linguagem. Para fazer o
1403-
_linter_ feliz, eu poderia escrever cada variável local duas vezes na chamada:
1404-
pass:[<code>fmt.format(elapsed=&#x200b;elapsed, name=name, args=args,
1405-
result=result)</code>]. Prefiro não fazer isso. Se você usa ferramentas
1395+
verificação desencorajam o uso dos recursos dinâmicos de Python que me
1396+
atraíram (e a incontáveis outros programadores) quando adotei a linguagem.
1397+
Para deixar o _linter_ feliz, eu poderia escrever o nome de cada variável duas vezes na chamada:
1398+
`fmt.format(elapsed=elapsed, name=name, args=args, result=result)`. Prefiro não fazer isso. Se você usa ferramentas
14061399
estáticas de verificação, é importante saber quando ignorá-las.]
14071400
<8> `clocked` vai substituir a função decorada, então ela deve devolver o mesmo que aquela função devolve.
14081401
<9> `decorate` devolve `clocked`.
@@ -1589,8 +1582,7 @@ https://fpy.li/9-11["Closures in Python" (_Clausuras em Python_)] (EN) é um pos
15891582
de blog curto de Fredrik Lundh, explicando a terminologia das clausuras.
15901583

15911584
A https://fpy.li/9-12[PEP 3104--Access to Names in Outer Scopes (_Acesso a Nomes
1592-
em Escopos Externos_)] (EN) descreve a introdução da declaração pass:[<span
1593-
class="keep-together"><code>nonlocal</code></span>], para permitir a
1585+
em Escopos Externos_)] (EN) descreve a introdução da declaração `nonlocal`, para permitir a
15941586
re-vinculação de nomes que não são nem locais nem globais. Ela também inclui uma
15951587
excelente revisão de como essa questão foi resolvida em outras linguagens
15961588
dinâmicas (Perl, Ruby, JavaScript, etc.) e os prós e contras das opções de
@@ -1672,14 +1664,14 @@ O escopo dinâmico é mais fácil de implementar, e essa foi provavelmente a raz
16721664
de John McCarthy ter tomado esse caminho quando criou o Lisp, a primeira
16731665
linguagem a ter funções de primeira classe. O texto de Paul Graham,
16741666
https://fpy.li/9-19["The Roots of Lisp" (_As Raízes do Lisp_)] é uma explicação
1675-
acessível do artigo original de John McCarthy sobre a linguagem Lisp, pass:[<a
1676-
href="https://fpy.li/9-20">"<span class='keep-together'>Recursive</span> <span
1677-
class='keep-together'>Functions</span> of <span
1678-
class='keep-together'>Symbolic</span> Expressions and Their Computation by
1679-
Machine, Part I" (<em>Funções Recursivas de Expressões Simbólicas e Sua
1680-
Computação via Máquina</em>)</a>]. O artigo de McCarthy é uma obra prima no
1681-
nível da Nona Sinfonia de Beethoven. Paul Graham o traduziu para o resto de nós,
1682-
da matemática para o inglês e o código executável.
1667+
acessível do artigo original de John McCarthy sobre a linguagem Lisp,
1668+
1669+
1670+
https://fpy.li/9-20[Recursive Functions of Symbolic Expressions and Their Computation by
1671+
Machine, Part I] (Funções Recursivas de Expressões Simbólicas e Sua
1672+
Computação por Máquina). O artigo de McCarthy é uma obra prima no
1673+
nível da Nona Sinfonia de Beethoven. Paul Graham o traduziu
1674+
da matemática para um inglês mais compreensível e código executável.
16831675
16841676
O comentário de Paul Graham explica como o escopo dinâmico é complexo. Citando o
16851677
"_The Roots of Lisp_":
@@ -1695,7 +1687,7 @@ escopo léxico não complica demais a definição de `eval`, mas pode tornar mai
16951687
difícil escrever compiladores.
16961688
____
16971689
1698-
Hoje em dia o escopo léxico é o padrão: variáveis livres são avaliadas
1690+
Atualmente o escopo léxico é o padrão: variáveis livres são avaliadas
16991691
considerando o ambiente onde a função foi definida. O escopo léxico complica a
17001692
implementação de linguagens com funções de primeira classe, pois requer o
17011693
suporte a clausuras. Por outro lado, o escopo léxico torna o código-fonte mais

0 commit comments

Comments
 (0)