@@ -78,12 +78,6 @@ recomendada de usar `functools.singledispatch` desde o Python 3.7.
7878A <<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-
8781Começamos com uma introdução muito suave aos decoradores, e dali seguiremos para
8882o 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
13991393reclamar 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=​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
14061399está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
15891582de blog curto de Fredrik Lundh, explicando a terminologia das clausuras.
15901583
15911584A 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
15941586re-vinculação de nomes que não são nem locais nem globais. Ela também inclui uma
15951587excelente revisão de como essa questão foi resolvida em outras linguagens
15961588dinâ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
16721664de John McCarthy ter tomado esse caminho quando criou o Lisp, a primeira
16731665linguagem a ter funções de primeira classe. O texto de Paul Graham,
16741666https://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
16841676O 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
16951687difí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
16991691considerando o ambiente onde a função foi definida. O escopo léxico complica a
17001692implementação de linguagens com funções de primeira classe, pois requer o
17011693suporte a clausuras. Por outro lado, o escopo léxico torna o código-fonte mais
0 commit comments