Manipular cadeias de caracteres
Tip
Consulte a guia Texto e imagens para obter mais detalhes!
O texto é um dos tipos mais comuns de dados na programação. Em Python, o texto é representado como uma cadeia de caracteres, uma sequência de caracteres entre aspas simples ou duplas. Python fornece muitas maneiras internas de manipular e formatar cadeias de caracteres.
Concatenação (colando cadeias de caracteres)
Você pode unir duas ou mais cadeias de caracteres em uma única cadeia de caracteres usando o + operador:
first = "Hello"
last = "world"
message = first + ", " + last + "!"
print(message)
Output:
Hello, world!
Embora a concatenação funcione bem para combinações simples, ela pode se tornar complicada quando você tenta misturar variáveis, pontuação e espaços juntos.
Uma maneira melhor: f-strings
Uma maneira mais limpa e moderna de combinar cadeias de caracteres e variáveis é com uma cadeia de caracteres f (abreviação de cadeia de caracteres formatada). Para criar esse tipo de cadeia de caracteres, coloque a letra f diretamente fora das aspas de abertura e coloque os nomes de variáveis dentro de chaves {}:
name = "Alex"
print(f"Hello, {name}!")
Output:
Hello, Alex!
Você pode tentar executar esse código por conta própria em um interpretador de python online em https://aka.ms/python-coder.
Não há mais erros de tipo
Na unidade anterior, vimos como input() + 1 resultou em um TypeError porque Python não pode misturar texto e números. As cadeias de caracteres F resolvem esse problema. Em uma cadeia de caracteres f, Python formata automaticamente números dentro de chaves em texto:
age = input("How old are you? ")
print(f"Next year you will be {age + 1}") # Works perfectly!
Note
Se você esquecer o f prefixo (por exemplo, print("Hello, {name}")), Python não olhará dentro das chaves, ele literalmente imprimirá {name} na tela.
Métodos comuns de cadeia de caracteres
Python cadeias de caracteres têm muitos métodos internos para operações comuns:
| Método | O que faz | Example | Result |
|---|---|---|---|
.upper() |
converte o texto em letras maiúsculas | "hello".upper() |
"HELLO" |
.lower() |
converte o texto em letras minúsculas | "HELLO".lower() |
"hello" |
.strip() |
Corta espaços em branco acidentais das extremidades | " hi ".strip() |
"hi" |
.replace(old, new) |
Troca caracteres específicos | "cat".replace("c", "b") |
"bat" |
Contagem de caracteres com len()
Para localizar o número total de caracteres (incluindo espaços e pontuação) em uma cadeia de caracteres, use a função autônoma len() . Observe que o texto entra nos parênteses:
username = "Alex!"
print(len(username)) # Output: 5
Métodos de cadeia de caracteres retornam uma nova cadeia de caracteres
Os métodos de cadeia de caracteres não modificam sua variável original. Em vez disso, eles criam uma nova cópia do texto alterado.
Examine este comportamento:
greeting = "hello"
greeting.upper()
print(greeting) # Output is STILL lowercase "hello"!
Se você quiser manter as alterações, deverá substituir a variável antiga ou salvar o resultado em uma nova:
greeting = "hello"
greeting = greeting.upper() # Saving the new uppercase copy
print(greeting) # Output: "HELLO"