Um mesmo símbolo pode significar diferentes operadores em python, dependendo dos tipos de dados sobre os quais ele opera
Imagine que você tenha duas variáveis inteiras e queira calcular a sua soma. Nada mais fácil:
a = 3
b = 8
c = a + b
O operador soma, indicado pelo símbolo +
, é o encarregado de encontrar a soma de suas variáveis do tipo int
. Repare que o resultado também é do tipo int
(você pode se assegurar disso com o comando type(c)
no código acima).
Mas observe agora o código abaixo:
a = 3
b = 8.
c = a + b
Veja que não é a mesma coisa que no primeiro código, pois b
é agora uma variável do tipo float
, assim como a variável c
que recebeu a soma a+b
. Ou seja, o operador +
, nesse caso, não fez exatamente a mesma coisa que no caso anterior. No entanto, usamos o mesmo símbolo para indicar essas duas operações diferentes (soma de dois int
retornando um int
$\neq$ soma de um int
e um float
retornando um float
).
Chamamos esse “abuso” de um mesmo símbolo para indicar coisas diferentes de sobrecarga (overloading) de operadores e métodos.
Veja outro exemplo de uso do operador +
que você pode usar para resolver muitos problemas práticos:
a = '3'
b = '8'
c = a + b
print(c)
O que você acha que esse comando print
imprime? Veja que a
e b
são do tipo string
e, não int
! Nesse caso, o operador +
é o operador de concatenação de strings (como diz uma velha piadinha infantil: quanto é 1+1? 2? Nao! É 11).
Na próxima lição veremos como usar operadores “sobrecarregados” para criar facilmente novas listas.
Página atualizada em 23/08/20