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
O código de hash de um objeto pode ser diferente dependendo da versão de Python, da arquitetura da máquina,
391
391
e pelo((("salt"))) _sal_ acrescentado ao cálculo do hash por razões de segurança.footnote:[Veja a
392
-
https://fpy.li/pep456[PEP 456—Secure and interchangeable hash algorithm (Algoritmo de hash seguro e intercambiável_)] (EN)
392
+
_PEP 456—Secure and interchangeable hash algorithm (Algoritmo de hash seguro e intercambiável)_ [fpy.li/pep456] (EN)
393
393
para saber mais sobre as implicações de segurança e as soluções adotadas.]
394
394
O código de hash de um objeto corretamente implementado tem a garantia de ser constante apenas dentro de um processo Python.
395
395
@@ -437,7 +437,7 @@ A <<mapping_methods_tbl>> mostra os métodos implementados por `dict` e pelas va
437
437
| `d.pop(k, [default])` | ● | ● | ● | Remove e devolve valor em `k`, ou `default` ou `None`, se `k` não existir
438
438
| `d.popitem()` | ● | ● | ● | Remove e devolve, na forma `(chave, valor)`, o último item inseridofootnote:[`OrderedDict.popitem(last=False)` remove o primeiro item inserido (FIFO). O argumento nomeado `last` não é suportado por `dict` ou `defaultdict`, pelo menos até Python 3.10b3.]
439
439
| `+d.__reversed__()+` | ● | ● | ● | Suporte a `reverse(d)`—devolve um iterador de chaves, da última para a primeira a serem inseridas
440
-
| `+d.__ror__(other)+` | ● | ● | ● | Suporte a `other \| dd`—operador de união invertido (Python ≥ 3.9)footnote:[Operadores invertidos são tratados no Capítulo 16 [vol.2, fpy.li/4r].]
440
+
| `+d.__ror__(other)+` | ● | ● | ● | Suporte a `other \| dd`—operador de união invertido (Python ≥ 3.9)footnote:[Operadores invertidos são tratados no Capítulo 16 [vol.2, fpy.li/4r].]
441
441
|`d.setdefault(k, [default])` | ● | ● | ● | Se `k in d`, devolve `d[k]`; senão, atribui `d[k] = default` e devolve isso
Copy file name to clipboardExpand all lines: vol1/cap07.adoc
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -339,7 +339,11 @@ Métodos:: Funções definidas no corpo de uma classe.
339
339
340
340
Classes:: Quando((("classes", "as callable objects"))) invocada, uma classe executa seu método
341
341
`+__new__+` para criar uma instância, e a seguir `+__init__+`, para inicializá-la. Então a instância é devolvida ao usuário.
342
-
Como não existe um operador `new` no Python, invocar uma classe é como invocar uma função.footnote:[Invocar uma classe normalmente cria uma instância daquela mesma classe, mas outros comportamentos são possíveis, sobrescrevendo o `+__new__+`. Veremos um exemplo disso na Seção 22.2.3 [vol.3, fpy.li/5b].]
342
+
Como não existe um operador `new` no Python,
343
+
invocar uma classe é como invocar uma função.footnote:[Invocar
344
+
uma classe normalmente cria uma instância daquela mesma classe,
345
+
mas outros comportamentos são possíveis, sobrescrevendo o `+__new__+`.
346
+
Veremos um exemplo disso na Seção 22.2.3 [vol.3, fpy.li/5b].]
343
347
344
348
Instâncias de classe:: Se uma classe define um método `+__call__+`, suas instâncias podem então ser invocadas como funções—esse é o assunto da próxima seção.
<1> A constante `typing.TYPE_CHECKING` é sempre `False` durante a execução do programa, mas os checadores de tipos fingem que ela é `True` quando estão fazendo a verificação.
1883
-
<2> Declaração de tipo explícita para a variável `series`, para tornar mais fácil a leitura da saída do Mypy.footnote:[Sem essa dica de tipo, o Mypy inferiria o tipo de `series` como `Generator[Tuple[builtins.int, builtins.str*], None, None]`, que é prolixo mas _consistente-com_ `Iterator[tuple[int, str]]`, como veremos na Seção 17.12 [vol.3, fpy.li/5k].]
1883
+
<2> Declaração de tipo explícita para a variável `series`, para tornar mais fácil a leitura da saída do
1884
+
Mypy.footnote:[Sem essa dica de tipo, o Mypy inferiria o tipo de `series` como
que é prolixo mas _consistente-com_ `Iterator[tuple[int, str]]`,
1887
+
como veremos na Seção 17.12 [vol.3, fpy.li/5k].]
1884
1888
<3> Esse `if` evita que as três linhas seguintes sejam executadas durante o teste.
1885
1889
<4> `reveal_type()` não pode ser chamada durante a execução, porque não é uma função regular, mas sim um mecanismo de depuração do Mypy - por isso não há `import` para ela.
1886
1890
Mypy vai produzir uma mensagem de depuração para cada chamada à pseudo-função `reveal_type()`, mostrando o tipo inferido do argumento.
0 commit comments