Python Strings Básico
Strings e f-strings
Em Python, strings são sequências imutáveis de caracteres. Isso significa que, uma vez criada, uma string não pode ser alterada no lugar: qualquer operação que "modifique" uma string na verdade cria uma nova. Essa imutabilidade traz segurança e eficiência, e é por isso que métodos como upper() retornam uma nova string em vez de mudar a original.
Você pode acessar partes de uma string usando fatiamento (slicing): s[inicio:fim:passo]. O índice inicial é incluído, o final é excluído, e índices negativos contam a partir do fim. O fatiamento é uma ferramenta poderosa para extrair substrings, inverter strings e muito mais.
As strings vêm com vários métodos úteis, como strip(), split(), replace(), startswith(), etc. Todos retornam novas strings (ou listas) e não alteram a original. Conhecer esses métodos evita reinventar a roda.
As f-strings (format strings) são a forma mais moderna e legível de interpolar valores em strings. Basta prefixar a string com f e usar {expressao}. Dentro das chaves você pode colocar variáveis, chamadas de função e até especificadores de formato como :.2f para limitar casas decimais.
Pontos-chave
- Strings são imutáveis: métodos como
upper()retornam uma nova string, não modificam a original. - Fatiamento
s[i:j:k]extrai substrings; índices negativos contam do fim e o final é exclusivo. - Métodos de string como
strip(),split(),replace()são essenciais para manipulação de texto. - f-strings permitem interpolar expressões e formatar valores diretamente com
{variavel:.2f}. - Para "alterar" uma string, você precisa reatribuir o resultado a uma variável.
nome = " Python "
print(nome.strip()) # remove espaços
frase = "aprendendo strings"
print(frase.upper()) # APRENDENDO STRINGS
print(frase[0:5]) # apren (fatiamento)
print(frase[::-1]) # sgnirts odnednerpa (invertida)
# Imutabilidade: métodos retornam nova string
original = "abc"
nova = original.upper()
print(original) # abc
print(nova) # ABC
# f-strings
nome = "Ana"
idade = 25
print(f"{nome} tem {idade} anos.")
pi = 3.14159
print(f"Pi arredondado: {pi:.2f}") # 3.14
# Expressões dentro de f-strings
print(f"{nome.upper()} tem {idade + 1} anos no próximo ano.")
# Alinhamento e preenchimento
print(f"|{nome:>10}|{idade:^5}|")