Strings em Python: Como Manipular Textos na Prática

Tempo de leitura: 12 minutos
Logo do Python com o texto 'Strings' abaixo

Se você está começando a aprender Python, as strings são um dos conceitos mais importantes que você vai usar no seu dia a dia. Basicamente, strings são textos que você manipula no código. Pode ser uma palavra, uma frase ou até um texto gigante.

Neste artigo, você vai descobrir como trabalhar com strings de forma prática e simples. Vamos ver desde o básico até técnicas mais avançadas que vão fazer você economizar tempo e escrever códigos melhores.

Confira este vídeo do nosso canal que explica strings de forma didática:

YouTube player

O Que São Strings em Python

Strings são sequências de caracteres. Em outras palavras, qualquer texto que você escreve entre aspas simples ou duplas vira uma string. Por exemplo, 'Python' e "programação" são strings.

Você pode criar strings de várias formas diferentes. Veja alguns exemplos básicos:

Python
nome = 'Maria'
cidade = "São Paulo"
frase = '''Esta é uma
string de múltiplas linhas'''

As aspas triplas são úteis quando você precisa escrever textos longos ou que ocupam várias linhas. Isso facilita muito na hora de formatar mensagens ou criar comentários mais elaborados.

Python trata strings como uma sequência ordenada de caracteres. Cada caractere tem uma posição específica, começando do zero. Isso significa que você pode acessar letras individuais usando índices.

Como Acessar Caracteres Individuais

Para pegar um caractere específico de uma string, você usa colchetes com o número da posição. Lembre-se que a primeira posição é sempre zero, não um.

Python
palavra = "Python"
primeira_letra = palavra[0]  # P
terceira_letra = palavra[2]  # t

Você também pode acessar caracteres de trás para frente usando números negativos. O -1 representa o último caractere, -2 o penúltimo, e assim por diante.

Python
palavra = "Python"
ultima_letra = palavra[-1]  # n
penultima = palavra[-2]     # o

Esse recurso de fatiamento é muito poderoso e você vai usar bastante quando precisar extrair partes específicas de um texto.

Fatiamento de Strings

O fatiamento permite que você extraia pedaços de uma string. A sintaxe básica é string[inicio:fim:passo]. O caractere na posição fim não é incluído no resultado.

Python
texto = "Programação"
parte1 = texto[0:7]    # Program
parte2 = texto[7:]     # ação
parte3 = texto[:7]     # Program
parte4 = texto[::2]    # Pormço

O terceiro parâmetro controla o passo. Se você usar 2, vai pegar um caractere sim e outro não. Com -1, você inverte a string completamente.

Python
palavra = "Python"
invertida = palavra[::-1]  # nohtyP

Este truque de inverter strings usando [::-1] é muito comum em Python e mostra como a linguagem oferece soluções elegantes para problemas comuns de programação.

Concatenação e Repetição de Strings

Concatenar significa juntar strings. Você pode fazer isso usando o operador +. É como colar palavras uma do lado da outra.

Python
nome = "João"
sobrenome = "Silva"
nome_completo = nome + " " + sobrenome  # João Silva

Para repetir uma string várias vezes, use o operador *. Isso é útil quando você precisa criar padrões ou linhas de separação.

Python
separador = "-" * 30  # ------------------------------
echo = "Ha" * 3       # HaHaHa

Essas operações básicas com strings são fundamentais e você vai usá-las constantemente. Elas tornam o código mais limpo do que ficar repetindo textos manualmente.

Métodos Essenciais para Transformar Strings

Python oferece vários métodos prontos para modificar strings. Eles facilitam muito tarefas comuns como mudar maiúsculas e minúsculas ou remover espaços extras.

O método upper() converte tudo para maiúsculas, enquanto lower() faz o oposto. O capitalize() deixa apenas a primeira letra em maiúscula.

Python
texto = "python é incrível"
maiuscula = texto.upper()        # PYTHON É INCRÍVEL
minuscula = texto.lower()        # python é incrível
capitalizado = texto.capitalize() # Python é incrível

Os métodos strip(), lstrip() e rstrip() removem espaços em branco. O primeiro remove dos dois lados, o segundo só da esquerda e o terceiro só da direita.

Python
texto = "  Python  "
limpo = texto.strip()   # "Python"
esquerda = texto.lstrip() # "Python  "
direita = texto.rstrip()  # "  Python"

Esses métodos são perfeitos para limpar dados de entrada do usuário, que muitas vezes vêm com espaços extras sem querer.

Busca e Verificação em Strings

Python tem métodos que ajudam a encontrar informações dentro de strings. O método find() retorna a posição onde encontrou o texto procurado, ou -1 se não achar nada.

Python
frase = "Aprender Python é divertido"
posicao = frase.find("Python")  # 9
nao_existe = frase.find("Java")  # -1

O operador in verifica se uma substring existe dentro de outra string. Ele retorna True ou False, sendo muito útil para validações.

Python
texto = "Python para iniciantes"
tem_python = "Python" in texto    # True
tem_java = "Java" in texto         # False

Você também pode usar métodos como startswith() e endswith() para verificar como uma string começa ou termina. Isso é comum ao trabalhar com nomes de arquivos ou validar formatos.

Python
arquivo = "dados.csv"
eh_csv = arquivo.endswith('.csv')  # True
comeca_dados = arquivo.startswith('dados')  # True

Substituição e Divisão de Strings

O método replace() substitui partes de uma string por outra. Você passa o texto que quer trocar e o novo texto que vai entrar no lugar.

Python
frase = "Eu gosto de Java"
nova_frase = frase.replace("Java", "Python")
# "Eu gosto de Python"

O método split() divide uma string em uma lista de partes. Por padrão, ele divide pelos espaços, mas você pode especificar qualquer separador.

Python
palavras = "Python é incrível".split()  # ['Python', 'é', 'incrível']
email = "[email protected]".split('@')   # ['usuario', 'email.com']

O oposto do split() é o join(). Ele junta elementos de uma lista em uma única string, usando um separador que você escolhe.

Python
palavras = ['Python', 'é', 'incrível']
frase = ' '.join(palavras)  # "Python é incrível"
csv = ','.join(['João', 'Maria', 'Pedro'])  # "João,Maria,Pedro"

Formatação de Strings com F-Strings

As f-strings são a forma mais moderna e legível de formatar strings em Python. Você coloca um f antes das aspas e pode inserir variáveis diretamente dentro de chaves.

Python
nome = "Carlos"
idade = 25
mensagem = f"Meu nome é {nome} e tenho {idade} anos"
# "Meu nome é Carlos e tenho 25 anos"

Você pode fazer cálculos e chamar métodos direto dentro das chaves. Isso torna o código muito mais expressivo e fácil de entender.

Python
preco = 49.99
mensagem = f"O produto custa R$ {preco:.2f}"
# "O produto custa R$ 49.99"

nome = "python"
maiusculo = f"{nome.upper()} é legal"
# "PYTHON é legal"

As f-strings substituem métodos antigos como format() e o operador %. Elas são mais rápidas e deixam o código bem mais limpo para quem está lendo.

Caracteres de Escape e Strings Raw

Caracteres de escape permitem inserir caracteres especiais em strings. O mais comum é \n para quebra de linha e \t para tabulação.

Python
texto = "Primeira linha\nSegunda linha"
print(texto)
# Primeira linha
# Segunda linha

tabela = "Nome\tIdade\nJoão\t25"
print(tabela)
# Nome    Idade
# João    25

Para incluir aspas dentro de uma string, você pode usar a barra invertida ou alternar entre aspas simples e duplas.

Python
citacao = "Ele disse: \"Python é incrível\""
outra = 'Python é chamado de "serpente" em inglês'

Strings raw começam com r antes das aspas e tratam barras invertidas como caracteres literais. São muito úteis para expressões regulares e caminhos de arquivos no Windows.

Python
caminho = r"C:\Users\nome\Documents"
# A barra invertida não é interpretada como escape

Validação e Verificação de Tipos

Python oferece métodos para verificar o tipo de conteúdo em uma string. O isdigit() verifica se todos os caracteres são números.

Python
numero = "123"
texto = "abc"
misto = "12a"

numero.isdigit()  # True
texto.isdigit()   # False
misto.isdigit()   # False

O método isalpha() retorna True se a string contém apenas letras. O isalnum() aceita letras e números, mas nenhum caractere especial.

Python
nome = "Maria"
nome.isalpha()    # True

usuario = "maria123"
usuario.isalnum()  # True

email = "[email protected]"
email.isalnum()    # False

Esses métodos são perfeitos para validar dados de entrada de usuários, garantindo que eles digitaram o tipo certo de informação antes de processar.

Contagem e Comprimento de Strings

A função len() retorna o número total de caracteres em uma string. Espaços e caracteres especiais também são contados.

Python
texto = "Python"
tamanho = len(texto)  # 6

frase = "Olá mundo!"
tamanho_frase = len(frase)  # 10

O método count() conta quantas vezes uma substring aparece dentro de outra string. Você pode especificar onde começar e terminar a busca.

Python
texto = "Python é legal e Python é poderoso"
vezes = texto.count("Python")  # 2
letras_o = texto.count("o")     # 3

Essas ferramentas são úteis para análise de textos, validação de senhas ou quando você precisa garantir que um texto tem o tamanho adequado.

Trabalhando com Múltiplas Linhas

Strings de múltiplas linhas usam aspas triplas. Elas preservam a formatação exata do texto, incluindo quebras de linha e espaçamento.

Python
poema = """
Roses are red,
Violets are blue,
Python is awesome,
And so are you!
"""

Você pode usar o método splitlines() para dividir uma string de múltiplas linhas em uma lista, onde cada elemento é uma linha.

Python
texto = """Linha 1
Linha 2
Linha 3"""

linhas = texto.splitlines()  # ['Linha 1', 'Linha 2', 'Linha 3']

Isso é muito útil quando você trabalha com arquivos de texto ou precisa processar dados linha por linha, como em scripts de automação.

Conversão Entre Strings e Outros Tipos

Muitas vezes você precisa converter strings em números ou vice-versa. Use int() para converter em número inteiro e float() para número decimal.

Python
texto_numero = "42"
numero = int(texto_numero)  # 42

texto_decimal = "3.14"
decimal = float(texto_decimal)  # 3.14

Para converter qualquer tipo em string, use a função str(). Isso é especialmente útil quando você precisa concatenar números com textos.

Python
idade = 25
mensagem = "Você tem " + str(idade) + " anos"
# "Você tem 25 anos"

# Ou usando f-string (mais recomendado)
mensagem = f"Você tem {idade} anos"

Lembre-se que converter textos que não representam números vai gerar um erro. Sempre valide a entrada antes de fazer a conversão em aplicações reais.

Perguntas Frequentes (FAQ)

1. O que são strings em Python?
Strings são sequências de caracteres usadas para representar texto. Você cria strings colocando texto entre aspas simples ou duplas.

2. Como juntar duas strings em Python?
Use o operador + para concatenar strings ou o método join() para unir múltiplas strings de uma lista.

3. Strings podem ser modificadas em Python?
Não, strings são imutáveis. Quando você modifica uma string, Python cria uma nova string com as alterações.

4. Como transformar texto em maiúsculas?
Use o método upper() para converter toda a string para maiúsculas ou capitalize() para apenas a primeira letra.

5. Como dividir uma string em partes?
Use o método split() que divide a string em uma lista. Por padrão divide por espaços, mas você pode escolher outro separador.

6. Como verificar se um texto está em uma string?
Use o operador in que retorna True se o texto for encontrado. Exemplo: “Python” in “Aprenda Python”.

7. O que são f-strings?
São strings formatadas que permitem inserir variáveis diretamente no texto usando f antes das aspas e {} para as variáveis.

8. Como remover espaços extras de uma string?
Use strip() para remover espaços do início e fim, lstrip() para só o início, ou rstrip() para só o fim.

9. Como contar quantas vezes uma palavra aparece?
Use o método count() passando a palavra que você quer contar como parâmetro.

10. Como acessar a última letra de uma string?
Use índice negativo -1 para acessar o último caractere. Exemplo: texto[-1].

11. Posso usar aspas dentro de uma string?
Sim, use aspas diferentes (simples dentro de duplas ou vice-versa) ou escape com barra invertida (\”).

12. Como verificar se uma string contém apenas números?
Use o método isdigit() que retorna True se todos os caracteres forem dígitos numéricos.

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Comparação visual entre Python 2 e Python 3 com ícones minimalistas
    Fundamentos
    Foto do Leandro Hirt

    Python 2 vs Python 3: Principais Diferenças

    Se você está começando a estudar Python ou já trabalha com a linguagem, provavelmente já se deparou com uma dúvida

    Ler mais

    Tempo de leitura: 20 minutos
    22/12/2025
    Pessoa pensando com um monitor desfocado ao fundo
    Fundamentos
    Foto do Leandro Hirt

    Tipos de Dados em Python: int, float, str, list e dict

    Aprenda tudo sobre os principais tipos de dados em Python: int, float, str, list e dict. Guia completo com exemplos

    Ler mais

    Tempo de leitura: 14 minutos
    21/12/2025
    Ilustração de lista com itens marcados e ícone do Python
    Fundamentos
    Foto do Leandro Hirt

    Como Ordenar Listas no Python (Sort vs Sorted)

    Você já ficou confuso sobre quando usar sort() ou sorted() para organizar suas listas em Python? Não está sozinho. Esses

    Ler mais

    Tempo de leitura: 12 minutos
    20/12/2025
    Logo do Python com uma faca, simbolizando fatiamento
    Fundamentos
    Foto do Leandro Hirt

    Fatiamento em Python: Tudo Sobre Slicing

    O fatiamento (ou slicing) é uma técnica fundamental em Python que permite extrair partes específicas de sequências como listas, strings

    Ler mais

    Tempo de leitura: 11 minutos
    13/12/2025
    Logo CSV e logo do Python com um símbolo de '+'
    Fundamentos
    Foto do Leandro Hirt

    Como trabalhar com arquivos CSV no Python

    Aprenda a ler, escrever e manipular arquivos CSV usando Python. Guia completo com exemplos práticos da biblioteca csv padrão e

    Ler mais

    Tempo de leitura: 12 minutos
    10/12/2025
    Foto de um calendário
    FundamentosBibliotecas
    Foto do Leandro Hirt

    Datas e Horas no Python com datetime

    Aprenda a trabalhar com datas e horas no Python usando o módulo datetime. Guia completo com exemplos práticos de formatação,

    Ler mais

    Tempo de leitura: 13 minutos
    10/12/2025