Concatenar strings no Python

Este é um outro post em que falamos de algumas operações bem básicas no Python 3. Concatenar, grosso modo, é o mesmo que “juntar” ou somar strings.

Deixe o exemplo falar por si:

Exemplo de concatenação de 3 strings em Python.
nome = "Elias"
espacinho = " "
sobrenome = "Praciano"
nomeCompleto = nome+espacinho+sobrenome
print(nomeCompleto)

A concatenação também pode ser feita on the go, ou seja, dentro da função print(), por exemplo. Veja:

print(nome + " " + sobrenome)

Alternativamente, use ‘,’ (vírgula) para realizar uma concatenação de strings. Fique avisado que ela insere, espacinhos a mais — que às vezes podem ser úteis e às vezes não…

print(nome,espacinho,sobrenome)

Neste caso específico, o código abaixo é mais enxuto e oferece melhor resultado:

print(nome,sobrenome)
Captura de tela da shell do Python 3.
Exemplos de concatenação de strings em Python, usando operadores diferentes — com resultados diferentes.

Operações com strings no Python: remover variáveis, concatenar e multiplicar cadeias de caracteres.

As strings, infelizmente, são imutáveis, no Python. Mas você sempre pode pegar o seu conteúdo, alterá-lo na memória e gravá-lo em outra variável. E isso é mais simples de se fazer do que falar.

Este texto é uma continuação deste outro artigo, em que mostrei como selecionar e recortar caracteres ou sequencias de caracteres de dentro de strings maiores.

Como remover uma string

Se tudo o que você quer, é remover uma string do seu ambiente de trabalho — caso você esteja usando a shell do Python, use o comando del. Fácil, assim:

del minha_string
del string_nome

Infelizmente, não é possível usar índices, aqui, para especificar apenas um trecho da string a ser removido. Veja, abaixo, a mensagem de erro que você obteria:

del string_nome[1]

Traceback (most recent call last):
File "", line 1, in
TypeError: 'str' object doesn't support item deletion

Com o comando del, apenas a string inteira pode ser removida da memória e não parte dela. É tudo ou nada 😉

Como realizar operações com as strings

Você pode concatenar o conteúdo de uma ou várias strings através do operador de soma + ou de multiplicações *:

# definindo as minhas strings...
texto1 = "esta é a minha "
texto2 = "segunda string "
testo3 = "esta semana."
# oops! Apagando o erro...
del testo3
texto3 = "esta semana."
texto4 = "devo estar cansado, pra cometer erros estúpidos como esse…"
# exibindo as 3 primeiras strings criadas...
print(texto1+texto2+texto3)

esta é a minha segunda string esta semana.

# somando todas as minhas strings e gravando o resultado em uma nova string...
texto_todo = texto1 + texto2 + texto3 + texto4
print(texto_todo)

esta é a minha segunda string esta semana.devo estar cansado, pra cometer erros estúpidos como esse…
Exercício prático para criar variáveis do tipo string, apagar e concatenar no Python
Exercício prático para criar variáveis do tipo string, apagar e concatenar no Python

A esta altura, já ficou fácil imaginar como realizar uma multiplicação. Veja alguns exemplos:

print(texto4 * 5)
devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…

texto_repetido = texto4 * 7
print(texto_repetido)
devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…devo estar cansado, pra cometer erros estúpidos como esse…
Captura de tela da shell do Python 3, mostrando código de multiplicação de uma string.
Operações de multiplicações de uma string, na shell do Python 3.

No exemplo abaixo, mostro como alterar o conteúdo de uma string:

texto_repetido = (texto4 + " ---> ") * 7
print(texto_repetido)
captura de tela da shell do Python mostrando código para multiplicar o conteúdo de uma string.
Achei que texto ficaria melhor com estas separações.

Não esqueça de praticar, alterando os exemplos para ver outros resultados. E se inscreva na newsletter do site, para ser avisada(o) quando houver post novo.

Como acessar e selecionar um ou vários caracteres dentro de uma string no Python

Exemplo da técnica de recorte (slicing) no Python 3

Este recurso, no Python, não tem grande importância “em si mesmo”, mas pode ser fundamental dentro de contextos maiores, dentro de scripts mais complexos, por exemplo.

Você pode acessar um determinado caractere dentro de uma string. Com o uso de indexação e um array de caracteres pode selecionar e recortar uma pequena cadeia de caracteres dentro de uma string — isso se chama slicing.

O índice começa em 0 e você vai obter um erro “IndexError”, se tentar acessar um caractere fora do seu alcance.

Pode também usar -1 para acessar o último caractere de uma string. Pode usar -2 para acessar o penúltimo etc.

Se usar o operador de corte (slicing operator), ou seja o “:” (dois pontos), pode escolher uma gama ou conjunto de elementos dentro da string.

Achou complicado?! Então vamos praticar com alguns exemplos…

string_nome = "Elias Praciano"
print("Este é o conteúdo da minha variável string_nome: ", string_nome)

Nos próximos exemplos, vou tentar explicar o que o código faz, dentro dos comentários #:

# como obter o primeiro caractere da variável string_nome
print('string_nome[0]= ', string_nome[0])

# como obter o segundo, de trás pra frente...
print('string_nome[-2]=', string_nome[-2])
Como obter caracteres específicos dentro de uma string.

veja um exemplo de uso do recurso do slicing:

# um recorte, incluindo os caracteres
# compreendidos entre a 3a posição e a 9a
print('do terceiro ao nono caractere: ', string_nome[2:10])
Exemplo de código em Python 3: slicing de uma string.
O slicing envolve um recorte de caracteres compreendidos entre 2 posições dentro de uma string, no Python 3.

No exemplo abaixo, veja um recorte compreendendo do 2o ao penúltimo caractere da string “Elias Praciano”:

print("Do segundo ao último caractere do meu nome: ", string_nome[1:-1])

Fique atento aos possíveis erros. Um dos mais comuns é IndexError: string index out of range.

print(string_nome[20])
Traceback (most recent call last):
File "", line 1, in
IndexError: string index out of range

Como você pode ver acima, quando tentei acessar a posição 20 da minha string “Elias Praciano”, obtive uma mensagem de erro de volta. Nesta string, as posições possíveis, vão de 0 a 14, ou seja, [0:13] — quando a requisição está fora dos limites, este erro aparece.