Strings como sequências
Objetivo da aula
Manipular texto por comprimento, índice, fatia e métodos comuns.
Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.
Começando do zero
Uma string (str) é uma sequência de caracteres. Isso significa que podemos percorrê-la, acessar posições e obter trechos. Strings são imutáveis: operações que parecem modificá-las na verdade produzem uma nova string.
Uma imagem mental para entender
Imagine uma palavra escrita em cartões alinhados. Cada cartão ocupa uma posição: 0, 1, 2… Você pode apontar para um cartão ou copiar um trecho, mas não “troca” diretamente um cartão dentro da string original. Para obter outro texto, cria uma nova sequência.
Conceitos essenciais, sem pular etapas
Índices
A primeira posição é 0. Em "Python", texto[0] é "P" e texto[1] é "y".
Índices negativos
-1 referencia o último caractere, -2 o penúltimo e assim por diante.
Fatiamento
texto[inicio:fim] cria um trecho que começa no índice inicial e para antes do final.
Métodos
strip(), lower(), upper() e replace() retornam novas strings transformadas.
Imutabilidade
Você não pode fazer texto[0] = "X". Para alterar, construa outra string.
Modelo mental
STRING → POSIÇÕES/SLICE/MÉTODOS → NOVA STRING → USO
Exemplo 1 — primeiro veja o programa inteiro
texto = "Programar"
print(texto[0])
print(texto[-1])
print(texto[0:4])
print(texto.lower())
print(len(texto))
Agora vamos ler linha por linha
- O índice 0 seleciona o primeiro caractere,
P. - O índice -1 seleciona o último,
r. - O fatiamento
0:4pega posições 0,1,2,3 e produzProg. lower()produz uma nova versão em minúsculas.len()conta quantos caracteres existem.
Saída esperada
P
r
Prog
programar
9
Exemplo 2 — o mesmo conceito em outra situação
entrada = " SIM "
normalizada = entrada.strip().lower()
print(normalizada)
print(normalizada == "sim")
Normalização textual é muito útil antes de comparar respostas do usuário. Primeiro removemos espaços externos; depois convertemos para minúsculas.
Experimento guiado
Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.
- Use índices para mostrar primeiro e último caractere de uma palavra.
- Teste fatiamentos diferentes e lembre que o fim é exclusivo.
- Tente mentalmente
texto[1:4]antes de executar. - Normalize entradas como “ Sim ” e “SIM” para uma forma comum.
Mini desafio
Com palavra = "computador", mostre os quatro primeiros caracteres, os três últimos e a versão em maiúsculas.
Solução comentada
palavra = "computador"
print(palavra[:4])
print(palavra[-3:])
print(palavra.upper())
Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.
Erros comuns e por que acontecem
- Esquecer que o primeiro índice é 0.
- Esperar que o limite final do slice seja incluído.
- Tentar alterar um caractere por atribuição e encontrar
TypeError. - Chamar
lower()sem guardar ou usar o valor retornado e achar que a string original mudou.
Cheque se você realmente entendeu
Qual é o índice do primeiro caractere?
Resposta: 0.
Strings são mutáveis?
Resposta: Não; transformações produzem novas strings.
O que texto[:3] faz?
Resposta: Produz um trecho do início até antes do índice 3.
Resumo em linguagem simples
Nesta aula, o ponto central foi Strings como sequências. Tente explicar o modelo STRING → POSIÇÕES/SLICE/MÉTODOS → NOVA STRING → USO sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.
Conexão com a próxima aula
Na próxima aula, Listas e mutabilidade, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.