Entenda o problema
O que é Strings e f-strings
String é uma sequência de caracteres imutável: toda operação que 'muda' um texto na verdade devolve um texto novo. Entender isso evita metade dos bugs de manipulação de texto.
Cheque seu entendimento
Por que dizemos que strings são imutáveis?
Construa o modelo mental
Como pensar antes de fazer
Índices começam em 0 e fatiar (slice) devolve um pedaço novo sem alterar o original. Em Python, texto[0:3] pega os três primeiros caracteres; em JavaScript, texto.slice(0, 3) faz o mesmo.
Não decore a forma. Tente explicar com suas palavras qual problema “Strings e f-strings” resolve.
Veja funcionando
Exemplo completo, do início ao resultado
Formatação moderna evita concatenação com +. Em Python usa-se f-string: f"Olá, {nome}, você tem {idade} anos". Em JavaScript, template literal com crase: `Olá, ${nome}`. Além de mais legível, converte números automaticamente.
nome = " Ana Souza "
limpo = nome.strip() # tira espaços das pontas
partes = limpo.split(" ") # ['Ana', 'Souza']
inicial = partes[1][0] # 'S'
# f-string: formata número com 2 casas
nota = 8.5
print(f"{partes[0]} {inicial}. tirou {nota:.2f}")
# strings são imutáveis: isto NÃO muda 'limpo'
limpo.upper()
print(limpo) # continua "Ana Souza"Leitura linha por linha
nome = " Ana Souza "Cria ou atualiza um valor que será usado pelo restante do exemplo.
limpo = nome.strip() # tira espaços das pontasCria ou atualiza um valor que será usado pelo restante do exemplo.
partes = limpo.split(" ") # ['Ana', 'Souza']Cria ou atualiza um valor que será usado pelo restante do exemplo.
inicial = partes[1][0] # 'S'Cria ou atualiza um valor que será usado pelo restante do exemplo.
# f-string: formata número com 2 casasComentário de orientação: documenta a intenção sem executar uma ação.
nota = 8.5Cria ou atualiza um valor que será usado pelo restante do exemplo.
print(f"{partes[0]} {inicial}. tirou {nota:.2f}")Produz ou devolve o resultado que permite conferir a execução.
# strings são imutáveis: isto NÃO muda 'limpo'Comentário de orientação: documenta a intenção sem executar uma ação.
Repare na última parte: chamar .upper() sem guardar o resultado não altera a variável. Strings nunca mudam no lugar.
Cheque seu entendimento
Qual a vantagem da f-string / template literal sobre concatenação com +?
Leia por partes
Do detalhe para o todo
Métodos que você vai usar sempre: strip/trim (tira espaços das pontas), lower/upper, replace, split (quebra em lista) e join (junta lista em texto). Todos devolvem um valor novo — se você não guardar o retorno, nada acontece.
Aprenda a diagnosticar
Erros comuns e como corrigi-los
- 1Chamar um método de texto e não guardar o retorno (texto.replace(...) sozinho não muda nada).
- 2Somar texto com número sem converter: em Python dá TypeError, em JavaScript vira concatenação silenciosa.
- 3Comparar textos sem normalizar espaços e maiúsculas: " Ana" != "ana".
Quando algo der errado, compare uma diferença por vez com o exemplo. Evite mudar várias partes ao mesmo tempo.
O que você aprendeu
- String é uma sequência de caracteres imutável: toda operação que 'muda' um texto na verdade devolve um texto novo. Entender isso evita metade dos bugs de manipulação de texto.
- Repare na última parte: chamar .upper() sem guardar o resultado não altera a variável. Strings nunca mudam no lugar.
- Evite: Chamar um método de texto e não guardar o retorno (texto.replace(...) sozinho não muda nada).
- Evite: Somar texto com número sem converter: em Python dá TypeError, em JavaScript vira concatenação silenciosa.
Videoaulas sobre este tema
Se você aprende melhor assistindo, abrimos uma seleção de aulas em vídeo em português sobre exatamente este assunto.
Quiz rápido
0/2 • 0 certas1. Por que dizemos que strings são imutáveis?
2. Qual a vantagem da f-string / template literal sobre concatenação com +?