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.

Como criar variáveis com strings no Python

As variáveis podem armazenar diferentes tipos de valores, entre os quais caracteres.

Uma string é uma cadeia de caracteres. Este texto está cheio de strings.

Para criar uma variável, com uma string armazenada, siga os exemplos:

nome = "Elias Praciano"
linguagem = "Python 3"
data = "11 de Julho"

Fácil, não é?

Depois de definidas as variáveis, já é possível trabalhar com elas, realizando diversos tipos de operações:

print(nome)
print("data: "+data)
Trabalhando com strings dentro da shell do Python 3

Você pode armazenar strings muito maiores dentro das suas variáveis. Veja um exemplo:

meu_pequeno_texto = """lorem ipsum dolor sit amet
  consequatur consectetur
  adipiscing elit"""
print(meu_pequeno_texto)
lorem ipsum dolor sit amet
consequatur consectetur
adipiscing elit
As aspas triplas delimitam o início e o fim da string, caso ela vá ter múltiplas linhas.

Construa polígonos com a tartaruga no Python 3

Os exercícios, envolvendo a biblioteca turtle (tartaruga) são uma excelente maneira de obter intimidade com a linguagem.

Neste texto, vou entrar no assunto direto, sem qualquer introdução. Caso você não saiba de que “tartaruga” estou falando, leia este texto antes e clique nas tags turtle para ler uma série de outros textos, que fazem uso desta incrível biblioteca gráfica.

Vamos começar pela importação da biblioteca e, em seguida, fazer os primeiros ajustes da tela e do cursor, para a gente tem um ambiente mais interessante para brincar.

import turtle
turtle.bgcolor("black")
turtle.color("green")
turtle.shapesize(2)
turtle.shape("turtle")
Importação da biblioteca turtle, na shell do Python 3 e alguns ajustes iniciais.

Feito isso, vamos movimentar a tartaruga pela tela, usando os métodos forward (para andar para frente) e left (para girar alguns graus à esquerda).

turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)

Simples, não é?

Comandos para mover a tartaruga, formando um quadrado na tela.
A cada comando, a tartaruga gira 90 graus e percorre 100 pixels, formando um quadrado na tela.

Experimente formar outros polígonos ou objetos com outros formatos na tela, alterando os comandos dados anteriormente.

Em vez de left, experimente usar right (direita).

As cores da tartaruga

Você pode usar uma gama limitada de cores para a tartaruga, através de seus nomes, em inglês: pink, green, red etc.

for mycolor in "yellow", "cyan", "pink":
  turtle.color(mycolor)
  turtle.right(45)
  turtle.forward(100)

Faça as suas próprias experiências.