PythonStrings

Strings

Strings são textos. Tudo que você digita entre aspas em Python vira uma string. É um dos tipos mais versáteis da linguagem.

Criando strings

Você pode criar strings com aspas simples, duplas ou triplas:

# Aspas simples
nome = 'João'

# Aspas duplas
frase = "Olá, mundo!"

# Aspas triplas — permitem múltiplas linhas
texto_grande = """Este é um texto
que ocupa várias linhas
sem precisar de \n"""

print(nome)          # João
print(frase)         # Olá, mundo!
print(texto_grande)

Dica: escolha um estilo e mantenha consistência. A comunidade Python geralmente usa aspas simples para strings curtas e duplas quando a string contém aspas simples.

Aspas dentro de aspas

# Se você precisa de aspas dentro da string:
frase1 = "Ele disse: 'Olá'"
frase2 = 'Ela disse: "Oi"'

# Ou use a barra invertida para escapar:
frase3 = "Ele disse: \"Olá\""

Concatenação e repetição

# Concatenação com +
nome = "João"
saudacao = "Olá, " + nome + "!"
print(saudacao)  # Olá, João!

# Repetição com *
eco = "eco " * 3
print(eco)  # eco eco eco

linha = "-" * 30
print(linha)  # ------------------------------

f-strings — a forma moderna

f-strings (ou strings formatadas) são a maneira mais fácil e legível de inserir variáveis dentro de texto:

nome = "Maria"
idade = 28
altura = 1.65

print(f"Meu nome é {nome}, tenho {idade} anos e {altura}m de altura.")
# Meu nome é Maria, tenho 28 anos e 1.65m de altura.

# Também dá para fazer contas dentro das chaves:
print(f"Ano que vem você terá {idade + 1} anos.")
# Ano que vem você terá 29 anos.

Basta colocar um f antes das aspas e usar {} para inserir qualquer expressão Python.

Métodos úteis de string

Strings têm diversos métodos embutidos. Aqui os mais importantes:

texto = "  Python é demais!  "

print(texto.upper())           # "  PYTHON É DEMAIS!  "
print(texto.lower())           # "  python é demais!  "
print(texto.strip())           # "Python é demais!" (remove espaços das pontas)
print(texto.replace("Python", "Java"))  # "  Java é demais!  "

# Dividir string em lista
dados = "banana,maçã,laranja"
print(dados.split(","))        # ['banana', 'maçã', 'laranja']

# Tamanho da string
print(len(texto))              # 22 (contando espaços)

Dica: métodos de string não modificam a original — eles retornam uma nova string. Strings são imutáveis!

Fatiamento (slicing)

Você pode pegar pedaços de uma string usando colchetes:

texto = "Python"

print(texto[0])      # P — primeiro caractere
print(texto[-1])     # n — último caractere
print(texto[1:4])    # yth — do índice 1 até o 3 (4 não entra)
print(texto[:3])     # Pyt — do início até o 2
print(texto[3:])     # hon — do índice 3 até o fim
print(texto[::-1])   # nohtyP — string invertida (muita gente usa isso!)

O formato é [inicio:fim:passo]. O fim nunca é incluído.

Verificações com strings

frase = "Aprender Python é divertido"

# Verificar se contém algo
print("Python" in frase)          # True
print("Java" in frase)            # False

# Começa ou termina com...
print(frase.startswith("Aprender"))  # True
print(frase.endswith("divertido"))   # True

Erros comuns

Esquecer as aspas

print(Python)    # ❌ NameError: name 'Python' is not defined
print("Python")  # ✅

Causa: sem aspas, Python pensa que Python é uma variável.

Concatenar string com número

idade = 25
print("Eu tenho " + idade + " anos")  # ❌ TypeError

Solução: converta para string ou use f-string:

print("Eu tenho " + str(idade) + " anos")  # ✅
print(f"Eu tenho {idade} anos")             # ✅ (mais simples)

Índice fora do limite

texto = "Python"
print(texto[10])  # ❌ IndexError: string index out of range

Solução: verifique o tamanho com len() antes de acessar.

Esquecer que strings são imutáveis

texto = "Python"
texto[0] = "J"   # ❌ TypeError: 'str' object does not support item assignment

Solução: crie uma nova string: novo_texto = "J" + texto[1:].

Resumo

OperaçãoComo fazerExemplo
Criar stringAspas"texto"
Concatenar+"a" + "b"
Repetir*"x" * 5
Tamanholen()len("abc")
Fatiar[::]"Python"[1:4]
Maiúsculas.upper()"abc".upper()
Substituir.replace()"a".replace("a", "b")
Dividir.split()"a,b".split(",")