3.7. Tipo string (str)

Um outro tipo que vamos utilizar bastante é chamado de “string” e é abreviado por str. Na verdade já usamos esse tipo quando introduzimos a função print(), vamos agora entender melhor o seu funcionamento.

Uma string é uma sequência de 0 ou mais caracteres que representam um texto. Para indicar uma string no Python, devemos escrevê-lo entre apóstrofes (‘) ou aspas (“). Essa dualidade facilita a inclusão do caractere apóstrofe ou aspas dentro de uma string, como ilustra o trecho de código abaixo. Execute esse programa passo-a-passo (clicando em Next) e verifique o resultado de cada comando de atribuição.

Activity: CodeLens 3.7.1 (cl03_exemplo_strings)

3.7.1. Concatenação de strings

É possível concatenar duas strings usando o operador +. Por exemplo, execute passo-a-passo o trecho de programa abaixo e veja o que ocorre com as variáveis e na saída do programa. Como sempre, procure pensar no resultado antes de clicar Next.

Activity: CodeLens 3.7.1.1 (cl03_exemplo_concatenacao)

Observe que os caracteres em branco são parte da string. Assim, a concatenação de p + a resulta em ‘PedroÁlvares’ pois nem p nem a foram definidas com espaço. Observe que na expressão (com strings!) que cria a variável nome apenas um espaço foi definido entre os dois primeiros nomes, mas não há espaço entre os dois últimos nomes.

Concatenação ou Soma?

O operador + é utilizado tanto para concatenar strings quando os dois operandos são do tipo str como para somar quando os dois operadores são números. No entanto, quando um operador é string e o outro for um número, o Python indica um erro como mostrado em uma sessão do iPython abaixo.

In [4]: 'Pedro' + 3
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-1-cb21c6a527de> in <module>
----> 1 'Pedro' + 3

TypeError: can only concatenate str (not "int") to str

In [5]: 'Pedro ' * 3
Out[5]: 'Pedro Pedro Pedro'

No entanto, observe na linha de comando “In [5]” que é possível realizar múltiplas concateções usando o operador *.

Execute o código abaixo e note que a mensagem de erro pode ser diferente do iPython. Corrija o erro substituindo o operador + pelo operador * e execute novamente para ver o resultado.

Você já fez das atividades dessa página