@@ -27,7 +27,7 @@ como forma de substituir as propriedades apenas para leitura
2727que usamos no `Vector2d`—apesar disso não ser comum em sequências.
2828
2929Além disso, teremos uma discussão conceitual sobre a ideia de protocolos como interfaces informais.
30- Vamos discutir a relação entre protocolos e _duck typing_,
30+ Vamos discutir a relação entre protocolos e a tipagem pato ( _duck typing_) ,
3131e as implicações práticas disso na criação de seus próprios tipos.
3232
3333=== Novidades neste capítulo
@@ -195,7 +195,7 @@ um exemplo independente de uma classe que implementa o protocolo de sequência.
195195startref="VCM2d12")))((("", startref="SSM2d12")))
196196
197197[[protocol_duck_sec]]
198- === Protocolos e o _duck typing_
198+ === Protocolos e a tipagem pato
199199
200200Desde((("Vector class, multidimensional",
201201"protocols and duck typing")))((("sequences, special methods for",
@@ -243,7 +243,8 @@ não é preciso implemtar `+__len__+`.
243243[TIP]
244244====
245245Com((("protocol classes")))((("protocols", "static protocols"))) a
246- https://fpy.li/pep544[_PEP 544—Protocols: Structural subtyping (static duck typing)_ (Protocolos:sub-tipagem estrutural (duck typing estático))],
246+ https://fpy.li/pep544[_PEP 544—Protocols: Structural subtyping (static duck typing)_]
247+ (Protocolos: sub-tipagem estrutural (tipagem pato estática))],
247248o Python 3.8 suporta _classes protocolo_: subclasses de `typing.Protocol`,
248249que estudamos na <<protocols_in_fn_sec>>.
249250Esse novo uso da palavra protocolo no Python tem um significado parecido, mas não idêntico.
@@ -1089,7 +1090,7 @@ uso de uma assinatura de construtor diferente, aceitando um único argumento
10891090iterável, como fazem todos os tipos embutidos de sequências. O fato de `Vector`
10901091se comportar como uma sequência apenas por implementar `+__getitem__+` e
10911092`+__len__+` deu margem a uma discussão sobre protocolos, as interfaces informais
1092- usadas em linguagens com _duck typing_ .
1093+ usadas em linguagens com tipagem pato .
10931094
10941095A seguir vimos como a sintaxe `my_seq[a:b:c]` funciona por baixo dos panos,
10951096criando um objeto `slice(a, b, c)` e entregando esse objeto a `+__getitem__+`.
@@ -1231,11 +1232,11 @@ onde esses conceitos são o assunto principal.
12311232
12321233
12331234[role="soapbox-title"]
1234- **As origens do _duck typing_ **
1235+ **De onde vieram os patos **
12351236
12361237Creio((("Soapbox sidebars", "duck typing")))((("duck typing"))) que a comunidade
1237- Ruby, mais que qualquer outra, ajudou a popularizar o termo "duck typing"
1238- (_tipagem pato_), ao pregar para as massas de usuários de Java. Mas a expressão
1238+ Ruby, mais que qualquer outra, ajudou a popularizar o termo _duck typing_,
1239+ ao pregar para as massas de convertidos do Java. Mas a expressão
12391240já era usada nas discussões de Python muito antes de Ruby ou Python se
12401241tornarem "populares". De acordo com a Wikipedia, um dos primeiros exemplos de
12411242uso da analogia do pato, no contexto da programação orientada a objetos, foi uma
0 commit comments