Módulo 4 - Variáveis e tipos de dados

Textos com str: o tipo que guarda palavras

10 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 01/07/2026

O que você vai aprender

  • Criar strings com aspas simples e duplas, sabendo quando usar cada uma.
  • Juntar textos com o operador + e repetir com o operador *.
  • Resolver o caso clássico das aspas dentro de aspas.
  • Usar len() para descobrir o tamanho de qualquer string.

Aspas simples ou duplas: o que muda

Você já usa strings desde a primeira aula do curso: tudo o que passou dentro do print entre aspas era uma. Agora elas ganham nome e sobrenome. String, ou str na forma curta que o Python usa, é o tipo de dado para texto. Pode ter uma letra, uma frase, um parágrafo ou nada, a chamada string vazia, escrita como duas aspas juntas. O que define a string não é o conteúdo, é o par de aspas em volta.

linguagem = 'Python'
curso = "Curso de Python Básico"

print(linguagem)
print(curso)

# Saída:
# Python
# Curso de Python Básico

Aspas simples na primeira, duplas na segunda: para o Python, as duas strings são igualmente válidas.

Aspas simples e duplas são intercambiáveis em Python, sem nenhuma diferença de comportamento. A única regra dura é fechar com o mesmo tipo que abriu. Este curso usa aspas duplas na maior parte dos exemplos, por um motivo prático que aparece já na próxima seção: textos em português adoram uma aspa simples no meio, como em d'água. E quando o texto precisa de aspas duplas por dentro, a solução é inverter: abre com simples por fora.

recado = "Copo d'água na mesa"
citacao = 'Ela disse "sim" na hora'

print(recado)
print(citacao)

# Saída:
# Copo d'água na mesa
# Ela disse "sim" na hora

Aspas dentro de aspas: use o tipo oposto por fora e o problema desaparece.

Juntando com + e repetindo com *

Strings aceitam dois operadores que você conhece da matemática, com significado adaptado. O + concatena, que é o nome formal de juntar textos na ordem. O * repete a string um número inteiro de vezes. Nos dois casos o Python obedece literalmente, sem adivinhar intenção: se você juntar "Bom" com "dia", o resultado é "Bomdia", grudado, porque nenhuma das duas strings tinha espaço. O espaço é um caractere como outro qualquer, e cabe a você colocá-lo.

nome = "Ana"
sobrenome = "Souza"

nome_completo = nome + " " + sobrenome
print(nome_completo)

print("=" * 20)
print("ha" * 3)

# Saída:
# Ana Souza
# ====================
# hahaha

Concatenação com espaço explícito no meio, e o * criando uma linha decorativa e uma risada.

O exemplo da linha de iguais merece atenção: "=" * 20 gera uma régua de vinte caracteres, e esse truque simples deixa a saída de qualquer programa mais organizada. Você vai usá-lo na prática deste módulo para desenhar a moldura de uma ficha de cadastro. Já a concatenação com + é a primeira forma de montar mensagens dinâmicas, juntando pedaços fixos com variáveis. Existe um jeito mais elegante de formatar mensagens, as f-strings, que têm aula própria no módulo 12; até lá, o + resolve tudo o que o curso pede.

Medindo o texto com len()

Além do print, chegou a hora de conhecer a sua segunda função do Python: len(), abreviação de length, comprimento. Ela recebe uma string entre os parênteses e devolve quantos caracteres ela tem. Devolve, e não mostra: len() entrega o número para o programa, e você decide o que fazer com ele, guardar numa variável, comparar, ou mostrar com print. Essa diferença entre mostrar e devolver vai voltar com força no módulo 13, sobre funções.

frase = "Python para todos"
tamanho = len(frase)
print(tamanho)

print(len(""))
print(len("a b"))

# Saída:
# 17
# 0
# 3

len() conta TODOS os caracteres, incluindo os espaços. A string vazia tem tamanho zero.

Repare que "a b" tem tamanho 3, porque o espaço conta como caractere. Esse detalhe pega muita gente em validações do mundo real, como conferir se uma senha tem o mínimo de caracteres ou se um campo foi preenchido. Aliás, é exatamente esse o uso típico de len() em programas de verdade: medir o que o usuário digitou antes de aceitar. Você fará validações assim quando juntar len() com as condições do módulo 7.

Com isso você fecha o essencial das strings: criar com aspas, juntar com +, repetir com *, resolver aspas internas e medir com len(). A próxima aula troca as letras pelos números e apresenta o tipo int, o inteiro que faz as contas do dia a dia.

Teste rápido

O que print(len("bom dia")) mostra na tela?

Perguntas frequentes

Devo usar aspas simples ou duplas nas minhas strings?
As duas funcionam igual; a regra de ouro é consistência. Este curso adota aspas duplas porque textos em português usam apóstrofo com frequência, como em d'água, e a aspa dupla por fora evita o conflito. Se o texto tiver aspas duplas por dentro, inverta e use simples por fora.
O que acontece se eu esquecer de fechar as aspas?
O Python acusa um SyntaxError dizendo que a string não foi encerrada, algo como unterminated string literal, e aponta a linha. É um dos erros mais fáceis de corrigir: volte à linha indicada e feche a aspa com o mesmo tipo que abriu.
Por que "2" + "2" dá 22 em vez de 4?
Porque entre aspas o 2 é texto, não número, e o + entre textos concatena. O Python junta os caracteres e o resultado é a string 22. Para somar de verdade, os valores precisam ser numéricos: 2 + 2, sem aspas, dá 4. A aula de type(), nesta mesma unidade, explora essa diferença a fundo.
Posso multiplicar uma string por outra string?
Não. O * de repetição exige uma string de um lado e um número inteiro do outro, como "ab" * 3. Multiplicar string por string ou por número decimal gera TypeError. Repetir zero ou um número negativo de vezes funciona e devolve uma string vazia.
len() conta letras acentuadas como um ou dois caracteres?
No uso comum, como um: len("café") devolve 4. O Python 3 trabalha com Unicode, então cada letra acentuada do português conta como um caractere. Existem casos raros com emojis e acentos decompostos em que a conta surpreende, mas nada disso aparece no nível deste curso.
Existe limite de tamanho para uma string?
O limite é a memória do computador, o que na prática significa que não há limite para os programas deste curso. Uma string pode guardar um livro inteiro. Nos módulos de arquivos você vai ler textos grandes para dentro de strings sem nenhuma configuração especial.

Fontes

Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.