Strings em Python

Strings são sequências de caracteres e representam textos em Python. Elas permitem armazenar, manipular e analisar dados textuais de forma simples e poderosa.

O que é uma String?

texto = 'Olá mundo'
print(texto)
print(type(texto))

Saída:

Olá mundo
<class 'str'>

Strings de documentação (multilinhas)

texto = """
Esta é uma string em Python com múltiplas linhas.
Podemos escrever quantas linhas quisermos!
"""

Índices da String

Cada caractere possui um índice:

nome = "Maria"
print(nome[0])
print(nome[1])
print(nome[2])
print(nome[3])
print(nome[4])

Saída:

M
a
r
i
a

Índices negativos percorrem de trás para frente:

nome = "Maria"
print(nome[-1])
print(nome[-2])
print(nome[-3])
print(nome[-4])
print(nome[-5])

Saída:

a
i
r
a
M

Intervalo (Slicing)

Formato:

string[início:fim:passo]

Exemplo:

nome = "João Silva"
print(nome[0:4])   # João
print(nome[5:10])  # Silva
print(nome[::-1])  # string invertida

Multiplicando Strings

linha = '-'
print(linha * 20)
print("Bloco de código")
print(linha * 20)

Saída:

--------------------
Bloco de código
--------------------

Tamanho da String

texto = "abc"
print(len(texto))

Saída:

3

Strings em Estruturas de Repetição

for

txt = "Python"
for letra in txt:
    print(letra)

while

txt = "Python"
indice = 0
while indice < len(txt):
    print(txt[indice])
    indice += 1

Saída:

P
y
t
h
o
n

Verificando se uma String está em outra

Exemplo 1:

texto = "Tenha um ótimo dia"

if 'dia' in texto:
	print("A sequência de caractere existe na string!")

Saída:

A sequência de caractere existe na string!

Exemplo 2:

texto = "Tenha um ótimo dia"

if 'ótimo' not in texto:
	print("A palavra 'ótimo' não existe no texto")
else:
	print("Sim, 'ótimo' existe no texto!")

Saída:

Sim, 'ótimo' existe no texto!

Métodos Importantes de Strings

palavra = "Céu Limpo"

palavra.upper()              # CÉU LIMPO
palavra.lower()              # céu limpo
palavra.title()              # Céu Limpo
palavra.strip()              # remove espaços das extremidades
palavra.replace("Limpo", "Nublado")
palavra.split(" ")          # ['Céu', 'Limpo']
palavra.startswith("Céu")   # True
palavra.endswith(".")       # False

Caracteres de Escape

print("Programação em \"Python\"")
# Programação em "Python"

print("Linha 1\nLinha 2")
# quebra de linha

print("Coluna 1\tColuna 2")
# tabulação

print("Programação e\bm Python")
# backspace

Mais sobre escapes: Literais de string e bytes

Exercícios

  1. Usando repetição, imprima cada letra de “Python” de trás para frente.

  2. Dada a lista de palavras: “ana”, “pelo”, “ovo”, “reviver”, “a grama é amarga”, “a mala nada na lama”, “telhado”, “abacate”, “radar”, “osso”, “viver para viver”, “reler”, “ame o poema”, “sol”, “rever”, “sala”.

    • Exiba quais são palíndromos.
    • Conte quantos palíndromos existem.
  3. Com a string: "banana uva maçã melão abacaxi"

    • Converta tudo para maiúsculo.
    • Separe em lista usando split().
    • Verifique se “uva” está na lista e troque por “morango”.
    • Imprima a lista final.
  4. Receba o nome completo de um usuário e:

    • Remova “de” se existir.
    • Exiba o tamanho total do nome.
    • Pegue o primeiro e último nome e forme uma nova string.
  5. Receba uma data no formato dd/mm/aaaa e imprima o mês por extenso.

Aulas