2.6 - Operações com strings
Em geral, não é possível executar operações matemáticas com strings, mesmo se elas parecerem números, então coisas assim são ilegais:
'2'-'1' 'eggs'/'easy' 'third'*'a charm'
Mas há duas exceções, +
e *
.
O operador +
executa uma concatenação de strings, ou seja, une as strings pelas extremidades. Por exemplo:
>>> first = 'throat'
>>> second = 'warbler'
>>> first + second
throatwarbler
O operador *
também funciona em strings; ele executa a repetição. Por exemplo, 'Spam'*
3 é 'SpamSpamSpam'. Se um dos valores for uma string, o outro tem de ser um número inteiro.
Este uso de + e *
faz sentido por analogia com a adição e a multiplicação. Tal como 4 * 3
é equivalente a 4 + 4 + 4
, esperamos que 'Spam' * 3
seja o mesmo que 'Spam'+'Spam'+'Spam', e assim é. Por outro lado, há uma diferença significativa entre a concatenação de strings e a repetição em relação à adição e à multiplicação de números inteiros. Você consegue pensar em uma propriedade que a adição tem, mas a concatenação de strings não tem?