📖Manipulação de Strings

As strings em Python são uma sequência de caracteres que podem ser usadas para armazenar e manipular texto. Elas são um dos tipos de dados mais fundamentais e poderosos da linguagem, com diversas funcionalidades e métodos para facilitar a manipulação de texto. Neste capítulo, exploraremos os principais conceitos, operações e métodos disponíveis para trabalhar com strings em Python.
Definição e Criação de Strings
Em Python, strings podem ser definidas de várias formas, utilizando aspas simples ('...'), aspas duplas ("..."), ou aspas triplas ('''...''' ou """..."""). Veja alguns exemplos:
# Usando aspas simples
nome = 'Python'
# Usando aspas duplas
linguagem = "Programação"
# Usando aspas triplas (permitem múltiplas linhas)
descricao = '''Python é uma linguagem de programação
de alto nível e muito versátil.'''
print(nome)
print(linguagem)
print(descricao)Acessando Caracteres de uma String
As strings em Python são indexadas, o que significa que podemos acessar caracteres individuais utilizando o índice. O primeiro caractere tem o índice 0, o segundo 1, e assim por diante.
# Acessando o primeiro caractere de uma string
palavra = "Python"
print(palavra[0]) # Saída: 'P'
# Acessando o último caractere de uma string
print(palavra[-1]) # Saída: 'n'Também podemos acessar substrings utilizando a notação de fatiamento (slice):
# Fatiamento de strings
print(palavra[0:3]) # Saída: 'Pyt' (caracteres do índice 0 ao 2)
print(palavra[3:]) # Saída: 'hon' (do índice 3 até o final)Strings são Imutáveis
Uma característica importante das strings em Python é que elas são imutáveis, ou seja, uma vez que uma string é criada, ela não pode ser alterada diretamente. Se for necessário modificar uma string, será preciso criar uma nova string.
Exemplo:
# Tentando alterar uma string (gera erro)
palavra = "Python"
# palavra[0] = "J" # Isso geraria um erro
# Para modificar, precisamos criar uma nova string
nova_palavra = "J" + palavra[1:]
print(nova_palavra) # Saída: 'Jython'Principais Operações com Strings
Concatenação: O operador
+permite concatenar (juntar) strings.saudacao = "Olá, " + "Mundo!" print(saudacao) # Saída: 'Olá, Mundo!'Repetição: O operador
*permite repetir uma string várias vezes.repetida = "Python! " * 3 print(repetida) # Saída: 'Python! Python! Python! 'Verificação de Substring: Podemos usar o operador
inpara verificar se uma substring está presente em uma string.frase = "Aprendendo Python" print("Python" in frase) # Saída: TrueComprimento de uma String: A função
len()retorna o número de caracteres de uma string.tamanho = len(frase) print(tamanho) # Saída: 17
Métodos Comuns de Manipulação de Strings
Python fornece uma variedade de métodos integrados para trabalhar com strings, desde alteração de maiúsculas e minúsculas até remoção de espaços e substituições de caracteres. Vamos explorar os métodos mais comuns.
Maiúsculas e Minúsculas:
upper(): Converte todos os caracteres para maiúsculas.lower(): Converte todos os caracteres para minúsculas.capitalize(): Converte o primeiro caractere da string para maiúscula.
texto = "python é ótimo" print(texto.upper()) # Saída: 'PYTHON É ÓTIMO' print(texto.lower()) # Saída: 'python é ótimo' print(texto.capitalize()) # Saída: 'Python é ótimo'Remoção de Espaços:
strip(): Remove espaços em branco no início e no final da string.lstrip(): Remove espaços em branco apenas do início.rstrip(): Remove espaços em branco apenas do final.
texto = " Olá, Mundo! " print(texto.strip()) # Saída: 'Olá, Mundo!'Substituição de Substrings:
replace(antigo, novo): Substitui todas as ocorrências de uma substring por outra.
frase = "Eu amo Python" nova_frase = frase.replace("amo", "gosto de") print(nova_frase) # Saída: 'Eu gosto de Python'Divisão e Junção de Strings:
split(separador): Divide uma string em uma lista de substrings com base em um delimitador.join(iterável): Junta elementos de uma lista (ou outro iterável) em uma única string, usando um separador.
# Dividindo uma string frase = "Aprender Python é divertido" palavras = frase.split() # Por padrão, separa por espaços print(palavras) # Saída: ['Aprender', 'Python', 'é', 'divertido'] # Juntando uma lista em uma string nova_frase = " ".join(palavras) print(nova_frase) # Saída: 'Aprender Python é divertido'Encontrando Substrings:
find(substring): Retorna o índice da primeira ocorrência da substring (ou-1se não for encontrada).count(substring): Retorna o número de vezes que a substring aparece na string.
frase = "Eu amo Python porque Python é fácil" print(frase.find("Python")) # Saída: 7 (primeira ocorrência) print(frase.count("Python")) # Saída: 2 (duas ocorrências)Verificação de Formato:
startswith(substring): Verifica se a string começa com uma determinada substring.endswith(substring): Verifica se a string termina com uma determinada substring.isalpha(): Verifica se a string contém apenas letras.isdigit(): Verifica se a string contém apenas números.
palavra = "Python" print(palavra.startswith("Py")) # Saída: True print(palavra.isalpha()) # Saída: True print(palavra.isdigit()) # Saída: False
Formatação de Strings
Python oferece várias maneiras de formatar strings, o que é útil quando queremos incluir variáveis ou valores dentro de uma string.
Operador
%: Um método antigo de formatação de strings usando%.nome = "João" idade = 30 print("Meu nome é %s e eu tenho %d anos." % (nome, idade))Método
format(): Uma forma mais moderna e flexível de formatação.print("Meu nome é {} e eu tenho {} anos.".format(nome, idade))f-strings: Introduzidas no Python 3.6, f-strings permitem incluir expressões diretamente dentro de uma string com
{}.print(f"Meu nome é {nome} e eu tenho {idade} anos.")
Strings Multilinhas
Para criar strings que se estendem por várias linhas, usamos aspas triplas:
mensagem = """Olá,
Este é um exemplo de string
que ocupa múltiplas linhas."""
print(mensagem)Conclusão
A manipulação de strings é uma habilidade essencial para qualquer desenvolvedor Python. Neste capítulo, exploramos desde operações básicas de acesso e concatenação até métodos mais avançados de formatação e modificação de strings. Com esse conhecimento, você estará preparado para lidar com diversas situações envolvendo texto no desenvolvimento de aplicações Python.
Atualizado