Indentação Python: O Guia Completo para Não Quebrar Seu Código

Indentação Python: O Guia Completo para Não Quebrar Seu Código

Como especialista em Python com mais de 10 anos de experiência, posso afirmar: entender e aplicar corretamente a indentação Python é essencial para escrever códigos que realmente funcionam.

Antes de tudo, se você já se deparou com aquele famoso erro “IndentationError”, saiba que você não está sozinho. A indentação Python é uma das características mais marcantes da linguagem, e também uma das que mais causam dor de cabeça para quem está começando.

A princípio, pode parecer apenas estética, mas ela vai muito além disso. Neste artigo, você vai descobrir como a indentação é o “esqueleto” da lógica em Python. Vamos juntos mergulhar nesse assunto de forma descomplicada e prática!


O que é indentação Python e por que ela é obrigatória?

Antes de mais nada, indentação significa o recuo de uma linha de código em relação à margem da esquerda. Em muitas linguagens, isso é só para deixar o código bonitinho. Porém, no Python, ela define blocos de código.

Em outras palavras, se você errar a indentação, o Python não vai entender o que você está querendo fazer — e vai jogar um erro direto na sua tela.

Por exemplo:

pythonCopiarEditarif True:
print("Isso vai dar erro")  # Indentação incorreta!

Agora, da forma certa:

pythonCopiarEditarif True:
    print("Isso vai funcionar")  # Indentação correta!

Como o Python interpreta a indentação?

Sobretudo, o Python entende a indentação como delimitação de blocos de comandos. Ou seja, tudo o que está recuado abaixo de uma estrutura de controle (como if, for, while, def, class, etc.) pertence a ela.

Por exemplo:

pythonCopiarEditardef saudacao():
    print("Olá!")
    print("Seja bem-vindo(a) ao Python!")

Nesse caso, as duas linhas dentro da função fazem parte do mesmo bloco, por causa da indentação Python.


Quantos espaços devo usar para indentar?

Acima de tudo, existe um padrão recomendado: usar 4 espaços por nível de indentação. Isso está descrito no PEP 8, que é o guia de estilo oficial do Python.

Apesar disso, o Python aceita tanto espaços quanto tabs. Contudo, misturar os dois é pedir para o caos se instalar no seu código.

Por isso, escolha um e siga com ele. E se for para seguir uma boa prática, vá de espaços!


Principais erros causados por má indentação Python

Além disso, é comum cair em algumas armadilhas quando o assunto é indentação Python. Veja os erros mais frequentes:

  • ❌ Misturar tabulação com espaços
  • ❌ Esquecer de recuar blocos dentro de if, for, while, etc.
  • ❌ Colocar mais ou menos espaços do que o necessário
  • ❌ Tentar quebrar a linha de um comando, mas sem alinhar corretamente

Indentação em funções: onde mais ocorrem erros

Bem como nas estruturas condicionais, as funções também precisam ter todos os seus comandos corretamente indentados.

pythonCopiarEditardef soma(a, b):
result = a + b
return result  # Esse código vai dar erro

Correto:

pythonCopiarEditardef soma(a, b):
    result = a + b
    return result

Ou seja, toda a lógica dentro da função precisa seguir o mesmo nível de indentação.


Como indentar corretamente condicionais if, elif e else

Nesse sentido, veja um exemplo prático de indentação Python aplicada em uma estrutura condicional:

pythonCopiarEditaridade = 18

if idade >= 18:
    print("Maior de idade")
else:
    print("Menor de idade")

Do mesmo modo, o elif segue a mesma regra:

pythonCopiarEditarnota = 7

if nota >= 9:
    print("Excelente")
elif nota >= 7:
    print("Bom")
else:
    print("Precisa melhorar")

Loops for e while com indentação correta

Primeiramente, os laços de repetição são estruturas em que a indentação se torna ainda mais evidente.

Veja com for:

pythonCopiarEditarnomes = ["Ana", "Bruno", "Carlos"]

for nome in nomes:
    print(f"Olá, {nome}!")

Com while:

pythonCopiarEditarcontador = 0

while contador < 3:
    print(contador)
    contador += 1

Note que dentro do laço, todos os comandos precisam estar corretamente indentados. Se colocar um deles fora da indentação, ele vai ser executado fora do loop!


Indentação em funções aninhadas

Você pode declarar funções dentro de outras funções. E sim, a indentação Python continua valendo com ainda mais força:

pythonCopiarEditardef externa():
    print("Função externa")

    def interna():
        print("Função interna")

    interna()

Cada nível de recuo representa um “nível de hierarquia” dentro da lógica do seu código.


Indentação em classes e métodos

Assim como em funções, os métodos de uma classe precisam ser indentados dentro dela. Veja só:

pythonCopiarEditarclass Pessoa:
    def __init__(self, nome):
        self.nome = nome

    def apresentar(self):
        print(f"Olá, meu nome é {self.nome}")

Se o método apresentar() não estiver indentado dentro da classe Pessoa, o Python simplesmente não vai entender que ele pertence à classe.


Identando blocos try/except/finally

Principalmente em tratamento de erros, a indentação correta garante que o código vai responder do jeito esperado:

pythonCopiarEditartry:
    resultado = 10 / 0
except ZeroDivisionError:
    print("Não é possível dividir por zero.")
finally:
    print("Operação finalizada.")

Cada parte do bloco try precisa estar alinhada com o seu except e finally.


Usando identação em listas e dicionários muito grandes

Você também pode usar a indentação para melhorar a legibilidade de estruturas grandes:

pythonCopiarEditarusuarios = [
    "Alice",
    "Bob",
    "Charlie",
    "Diana",
]

Ou com dicionários:

pythonCopiarEditarconfig = {
    "resolução": "1080p",
    "modo": "noturno",
    "idioma": "pt-BR",
}

Esse tipo de indentação não é obrigatória, mas ajuda muito na manutenção do código.


Ferramentas que ajudam na indentação Python

Existem diversos editores e IDEs que ajudam (e muito!) na hora de manter a indentação Python em dia:

  • VS Code: tem atalhos para corrigir indentação automática
  • PyCharm: identifica e sugere correções de indentação
  • Jupyter Notebook: aplica a indentação enquanto você digita

Além disso, ferramentas como black ou autopep8 ajustam o estilo do código conforme o PEP 8.


Dicas para evitar erros de indentação

Do mesmo modo, aqui vão algumas boas práticas para nunca mais sofrer com a indentação Python:

  • Ative a visualização de espaços/tabulação no editor
  • Use só espaços (nunca misture com tabs!)
  • Configure seu editor para usar 4 espaços por nível
  • Evite copiar código de fontes duvidosas
  • Sempre revise a indentação antes de executar

Casos reais de bugs causados por má indentação

Em projetos reais que participei, já vi desde scripts que paravam de funcionar sem motivo aparente até pipelines inteiros falhando… tudo por causa de um espaço a mais ou a menos.

Em uma vez específica, um return estava fora da indentação correta dentro de um loop, e o script encerrava antes de processar os dados. Levamos horas até perceber que o erro era… um simples recuo errado!


Minhas Impressões Pessoais

Pessoalmente, acho que a indentação Python é o que torna a linguagem mais organizada e elegante. Ela obriga o programador a escrever um código limpo, fácil de ler e manter. Apesar de parecer rígida no começo, é justamente esse “rigor” que evita uma bagunça no desenvolvimento, especialmente em times maiores.


Conclusão: domine a indentação e domine o Python

Portanto, se você quer evoluir como desenvolvedor Python, a indentação Python precisa estar no seu radar desde o início. Afinal, não adianta saber lógica de programação se o Python não consegue nem interpretar o seu código.

Dessa forma, dominar a indentação é um passo fundamental para ganhar segurança, reduzir erros e escrever códigos profissionais.

Desse modo, mantenha sempre o olho na margem esquerda. Um espacinho a mais ou a menos pode ser a diferença entre um programa funcional e um erro frustrante!

Enfim, agora que você conhece todos os segredos da indentação Python, mãos ao teclado e… bora codar!

Samsung Galaxy A55 5G, Câmera Tripla Traseira de até 50MP, Selfie de 32MP, Nightography, Apagador de objetos, Design em metal e vidro, IP67, Super AMOLED 6.6" 120Hz Vision Booster, 128GB - Azul Claro

Amazon.com.br

Samsung Galaxy A55 5G, Câmera Tripla Traseira de até 50MP, Selfie de 32MP, Nightography, Apagador de objetos, Design em metal e vidro, IP67, Super AMOLED 6.6" 120Hz Vision Booster, 128GB - Azul Escuro

Amazon.com.br

Smartphone Samsung Galaxy A56 5G 128GB, 8GB RAM, Câmera 50MP, IP67, Super AMOLED 6.7", Recursos AI, Preto

Amazon.com.br
Indentação Python: O Guia Completo para Não Quebrar Seu Código

Perguntas Frequentes (FAQ)

O que é indentação em Python?

A indentação em Python é o espaço em branco no início de uma linha que define a estrutura do código, como blocos de código e loops.

Por que a indentação é importante em Python?

A indentação é crucial porque Python usa espaços em branco para definir a hierarquia do código, ao contrário de outras linguagens que usam chaves ou palavras-chave.

Como faço a indentação correta em Python?

Para indentação correta, use quatro espaços ou um tab, mas evite misturar os dois para evitar erros de sintaxe.

Prof. Eduardo Henrique Gomes
Prof. Eduardo Henrique Gomes

Apaixonado por tecnologia e análise de gadgets, trazendo reviews e insights para a Web Academy.