Skip to content

Commit 3d2807b

Browse files
committed
ajuste no texto do cap. 16
1 parent f761780 commit 3d2807b

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

capitulos/cap16.adoc

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,17 @@ Também adicionei menções a duas bibliotecas que demonstram um uso efetivo da
6464

6565
A sobrecarga de operadores((("operator overloading", "basics of"))) permite que objetos definidos pelo usuário interoperem com operadores infixos tais como `+` e `|`, ou com operadores unários como `-` e `~`. No Python, de uma perspectiva mais geral, a invocação de funções (`()`), o acesso a atributos (`.`) e o acesso a itens e o fatiamento (`[]`) também são operadores, mas este capítulo trata dos operadores unários e infixos.
6666

67-
A sobrecarga de operadores tem má-fama em certos círculos. É um recurso da linguagem que pode ser (e tem sido) abusado, resultando em programadores confusos, bugs, e gargalos de desempenho inesperados. Mas se bem utilizado, ele gera APIs agradáveis de usar e código legível. O Python alcança um bom equilíbrio entre flexibilidade, usabilidade e segurança, pela imposição de algumas limitações:
67+
A sobrecarga de operadores tem má-fama em certos círculos.
68+
É um recurso da linguagem que pode ser (e tem sido) abusado,
69+
resultando em programadores confusos, bugs, e gargalos de desempenho inesperados.
70+
Mas se bem utilizada, possibilita APIs agradáveis de usar e código legível.
71+
O Python alcança um bom equilíbrio entre flexibilidade,
72+
usabilidade e segurança,
73+
pela imposição de algumas limitações:
6874

6975
* Não é permitido modificar o significado dos operadores para os tipos embutidos.
7076
* Não é permitido criar novos operadores, apenas sobrecarregar os existentes.
71-
* Alguns poucos operadores não podem ser sobrecarregados: `is`, `and`, `or` e `not` (mas os operadores binários `&`, `|`, e `~` podem).
77+
* Alguns poucos operadores não podem ser sobrecarregados: `is`, `and`, `or` e `not` (mas os operadores `==`, `&`, `|`, e `~` podem).
7278

7379
No <<user_defined_sequences>>, na classe `Vector`, já apresentamos um operador infixo: `==`, suportado pelo método `+__eq__+`. Nesse capítulo, vamos melhorar a implementação de `+__eq__+` para lidar melhor com operandos de outros tipos além de `Vector`. Entretanto, os operadores de comparação cheia (`==`, `!=`, `>`, `<`, `>=`, `<=`) são casos especiais de sobrecarga de operadores, então começaremos sobrecarregando quatro operadores aritméticos em `Vector`: os operadores unários `-` e `+`, seguido pelos infixos `+` e `*`.
7480

0 commit comments

Comments
 (0)