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:
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:
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.
palavra = "Python"
primeira_letra = palavra[0] # P
terceira_letra = palavra[2] # tVocê 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.
palavra = "Python"
ultima_letra = palavra[-1] # n
penultima = palavra[-2] # oEsse 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.
texto = "Programação"
parte1 = texto[0:7] # Program
parte2 = texto[7:] # ação
parte3 = texto[:7] # Program
parte4 = texto[::2] # PormçoO 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.
palavra = "Python"
invertida = palavra[::-1] # nohtyPEste 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.
nome = "João"
sobrenome = "Silva"
nome_completo = nome + " " + sobrenome # João SilvaPara repetir uma string várias vezes, use o operador *. Isso é útil quando você precisa criar padrões ou linhas de separação.
separador = "-" * 30 # ------------------------------
echo = "Ha" * 3 # HaHaHaEssas 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.
texto = "python é incrível"
maiuscula = texto.upper() # PYTHON É INCRÍVEL
minuscula = texto.lower() # python é incrível
capitalizado = texto.capitalize() # Python é incrívelOs 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.
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.
frase = "Aprender Python é divertido"
posicao = frase.find("Python") # 9
nao_existe = frase.find("Java") # -1O operador in verifica se uma substring existe dentro de outra string. Ele retorna True ou False, sendo muito útil para validações.
texto = "Python para iniciantes"
tem_python = "Python" in texto # True
tem_java = "Java" in texto # FalseVocê 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.
arquivo = "dados.csv"
eh_csv = arquivo.endswith('.csv') # True
comeca_dados = arquivo.startswith('dados') # TrueSubstituiçã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.
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.
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.
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.
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.
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.
texto = "Primeira linha\nSegunda linha"
print(texto)
# Primeira linha
# Segunda linha
tabela = "Nome\tIdade\nJoão\t25"
print(tabela)
# Nome Idade
# João 25Para incluir aspas dentro de uma string, você pode usar a barra invertida ou alternar entre aspas simples e duplas.
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.
caminho = r"C:\Users\nome\Documents"
# A barra invertida não é interpretada como escapeValidaçã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.
numero = "123"
texto = "abc"
misto = "12a"
numero.isdigit() # True
texto.isdigit() # False
misto.isdigit() # FalseO método isalpha() retorna True se a string contém apenas letras. O isalnum() aceita letras e números, mas nenhum caractere especial.
nome = "Maria"
nome.isalpha() # True
usuario = "maria123"
usuario.isalnum() # True
email = "[email protected]"
email.isalnum() # FalseEsses 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.
texto = "Python"
tamanho = len(texto) # 6
frase = "Olá mundo!"
tamanho_frase = len(frase) # 10O método count() conta quantas vezes uma substring aparece dentro de outra string. Você pode especificar onde começar e terminar a busca.
texto = "Python é legal e Python é poderoso"
vezes = texto.count("Python") # 2
letras_o = texto.count("o") # 3Essas 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.
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.
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.
texto_numero = "42"
numero = int(texto_numero) # 42
texto_decimal = "3.14"
decimal = float(texto_decimal) # 3.14Para converter qualquer tipo em string, use a função str(). Isso é especialmente útil quando você precisa concatenar números com textos.
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.








