O Que Você Vai Aprender
Nesta aula de 2 horas, você mergulhará no fascinante mundo da manipulação de strings em Python. Entenderá a natureza do texto, como acessar partes específicas e como usar os métodos poderosos que Python oferece para formatar, buscar e modificar strings.
✍️ Revisar Strings e Imutabilidade
Compreender a definição de string e o conceito crucial de imutabilidade.
✂️ Acessar e Fatiar (Slicing) Strings
Aprender a pegar caracteres individuais ou partes (fatias) de uma string.
🛠️ Dominar Métodos Comuns
Conhecer e aplicar as funções mais úteis para manipular texto em Python.
Revisão e Imutabilidade
Strings são sequências de caracteres, ou seja, qualquer texto que você coloca entre aspas (`"Olá"` ou `'Mundo'`). Mas há um conceito muito importante em Python sobre strings: a imutabilidade.
🚫 Strings são Imutáveis!
Uma vez que uma string é criada, ela não pode ser alterada. Quando você "modifica" uma string (como converter para maiúsculas), Python na verdade cria uma nova string com as alterações, deixando a original intacta.
# Exemplo de Imutabilidade
minha_string = "Hello"
# Tentativa de alterar um caractere (resulta em erro!)
# minha_string[0] = 'J'
nova_string = minha_string.upper() # Cria UMA NOVA string
print(minha_string) # Saída: Hello (original inalterada)
print(nova_string) # Saída: HELLO (nova string)
Acesso por Índice e Fatiamento (Slicing)
Strings são sequências, o que significa que cada caractere tem uma posição (um índice). Podemos acessar caracteres individuais ou "fatias" (substrings) usando esses índices. O índice começa em 0 para o primeiro caractere.
Acesso por Índice
Para acessar um caractere específico, use colchetes `[]` com o índice.
palavra = "Python"
print(palavra[0]) # Saída: 'P' (primeiro caractere)
print(palavra[5]) # Saída: 'n' (último caractere)
Você também pode usar índices negativos, que contam a partir do final da string:
print(palavra[-1]) # Saída: 'n' (último caractere)
print(palavra[-6]) # Saída: 'P' (primeiro caractere)
Fatiamento (Slicing)
Para extrair uma parte (uma "fatia") da string, use `[inicio:fim:passo]`.
palavra = "Python"
print(palavra[0:2]) # Saída: 'Py' (do índice 0 até ANTES do 2)
print(palavra[2:5]) # Saída: 'tho'
Você pode omitir `inicio` (começa do zero) ou `fim` (vai até o final):
print(palavra[:2]) # Saída: 'Py'
print(palavra[2:]) # Saída: 'thon'
print(palavra[:]) # Saída: 'Python' (cópia completa)
O `passo` é opcional e define de quantos em quantos caracteres pular:
print(palavra[::2]) # Saída: 'Pto' (pula de 2 em 2)
print(palavra[::-1]) # Saída: 'nohtyP' (inverte a string!)
Simulador de Fatiamento de Strings
Digite uma string e os índices para fatiar. Lembre-se: `[início:fim:passo]`!
Métodos Essenciais de Strings
Python oferece uma variedade de métodos (funções que "pertencem" a um objeto) para manipular strings. Eles facilitam tarefas comuns, como mudar maiúsculas/minúsculas, remover espaços ou encontrar partes de um texto. Lembre-se que eles criam novas strings!
`len(string)`
Retorna o comprimento (número de caracteres) da string.
len("Python") # Saída: 6
`.lower()` e `.upper()`
Convertem a string para minúsculas ou maiúsculas, respectivamente.
"Python".lower() # Saída: "python"
"python".upper() # Saída: "PYTHON"
`.strip()`
Remove espaços em branco (ou outros caracteres) do início e do fim da string.
" Olá Mundo ".strip() # Saída: "Olá Mundo"
`.replace('antigo', 'novo')`
Substitui todas as ocorrências de uma substring por outra.
"banana".replace("a", "o") # Saída: "bonono"
`.find('sub')`
Retorna o índice da primeira ocorrência da substring. Retorna `-1` se não encontrar.
"abacaxi".find("a") # Saída: 0
"abacaxi".find("z") # Saída: -1
`.count('sub')`
Conta quantas vezes uma substring aparece na string.
"banana".count("a") # Saída: 3
Explorador de Métodos de String
Digite uma string, selecione um método e (se necessário) forneça parâmetros para ver o resultado.
Desafios para Continuar
Agora que você explorou a manipulação de strings, é hora de colocar a mão na massa! Resolva estes problemas no seu ambiente de desenvolvimento Python para solidificar seu aprendizado.
-
✓
Análise de Nome Completo
Crie um programa que:
- Peça o nome completo do usuário.
- Imprima o nome em MAIÚSCULAS.
- Imprima o nome em minúsculas.
- Imprima o número total de letras no nome (sem contar espaços).
- Imprima a primeira letra do nome.
-
✓
Contador de Palavras em Frase
Crie um programa que:
- Receba uma frase do usuário.
- Receba uma palavra a ser procurada na frase.
- Conte quantas vezes essa palavra aparece na frase (ignorando maiúsculas/minúsculas).
- Imprima o resultado.