Python

Indentação em Python 3

Escrito por Erick Faria · 6 min. >
Indentação em Python

Nessa aula vamos aprender sobre uma das coisas mais importantes para quem quer aprender a programar: indentação em python. A indentação pode ser entendida como recuo no código. É uma forma que utilizamos para definir hierarquias e é determinante para o funcionamento correto do código. A indentação não é apenas um capricho de sintaxe, ela define os momentos e como um código será executado.

O que é indentação em Python?

No Python, a indentação é usada para indicar o nível de código aninhado. Cada nível de indentação é representado por uma certa quantidade de espaços ou tabulações no início de uma linha. A convenção padrão é usar quatro espaços para cada nível de indentação.

Indentação são blocos de códigos que recebem um recuo para definir a hierarquia em que o código será executado. O recuo é como se fosse um espaço que você dá e faz um alinhamento do código dentro de outro.

A indentação é importante na Python porque é usada para indicar o início e o final de blocos de código. Por exemplo, o código dentro de uma instrução if, um loop for ou uma função é indentado em um nível para indicar que faz parte desse bloco de código. Isso ajuda a tornar o código mais legível e fácil de entender.

No Python, a indentação não é apenas uma questão de estilo, ela também é usada para indicar a lógica do código. Uma indentação faltante ou extra na python pode causar um erro de indentação ou um erro lógico no código.

O python é uma das linguagens que leva a indentação mais a sério. Essa aula está sendo lecionada no início, pois eu preciso que vocês desde o início comecem a se acostumar com a forma de escrever em python.

Por que a indentação é importante?

A indentação é importante, pois em python se ela for feita de forma incorreta o seu código não irá funcionar. Não se trata de um capricho ou uma função estética no código. Em python é mandatório que você faça a indenização para criar hierarquias e blocos de códigos que serão executados.

Muitas IDEs já fazem a indentação de forma automática. Quando você dá o comando de dois pontos em python e aperta ENTER muitas IDEs já fazem o recuo de forma automatizada.

Geralmente você precisa se preocupar somente em colocar a indentação no lugar certo, pois as plataformas que você escreve o código já te auxiliam e deixam a indentação automatizada.

Para que serve a indentação em Python?

Como dito anteriormente a indentação serve para você criar hierarquias em um código. Quando você inventa um bloco de código em python você diz a ordem em que ele será executado. Dessa forma, com a indentação será executado primeiro um bloco de código de primeira hierarquia, seguido por um bloco de código de segundo hierarquia, seguido por um código de terceira hierarquia e assim consecutivamente.

Como usar a Indentação?

Usar a indentação é muito simples. A IDE geralmente faz esse processo para você automaticamente. Quando você insere os dois pontos (:) e aperta ENTER, a próxima linha já faz um recuo automaticamente.

Por padronização a indentação em python deve ser pressionando a barra de ESPAÇO quatro vezes. Algumas IDEs como o Google Colab, não seguem esse padrão. Não é um problema grave, mas busque sempre as convenções e padrões.

Exemplos de códigos com indentação em Python

Agora que você entendeu o conceito de indentação, vou lhe apresentar alguns exemplos. Nesse momento peço que você não se preocupe em entender o que está sendo feito no código. Busque focar no conceito da indentação. Veja a seguir o primeiro exemplo:

if 10 > 5:  
  print('Dez é maior do que cinco')

Agora vou repetir o exemplo anterior e retirar a indentação. O código está errado. Copie e cole no seu python e veja o resultado que irá aparecer.

if 10 > 5:
print('Dez é maior do que cinco')

No próximo exemplo vou colocar um código mais extenso. Nesse código vou usar espaços diferentes. Na primeira linha indentada vou apertar TAB uma vez. Na segunda linha indentada vou apertar TAB e adicionar um espaço.

if 7 > 3:
  print('Sete é maior do que três')
if 10 > 5:
    print('Dez é maior do que cinco')

No exemplo abaixo, as instruções dentro dos blocos if, elif e else são recuadas para indicar que são executadas apenas se a condição correspondente for verdadeira.

if x > 0:
    print("x is positivo")
elif x < 0:
    print("x is negativo")
else:
    print("x é zero")

Por fim, vou mostrar um exemplo de duas indentações seguidas, sem seguir a sintaxe correta com python. No caso a seguir o código não será executado pois não há um comando seguido pelos dois pontos.

if 10 > 5:
  print('Dez é maior do que cinco')
    print('Dez é maior do que cinco')

No próximo exemplo, temos duas estruturas de controle de fluxo indentadas. A primeira estrutura if verifica se x é maior do que zero, e se for verdadeiro, imprime “x é positivo” e entra na próxima estrutura de controle de fluxo. Essa segunda estrutura verifica se x é maior do que 10, e se for verdadeiro, imprime “x é maior do que 10”, caso contrário, imprime “x é menor ou igual a 10”. Se a primeira condição for falsa, a última linha imprime “x é negativo ou zero”.

A indentação mostra a relação entre as diferentes estruturas de controle de fluxo e ajuda a manter o código organizado e fácil de ler.

if x > 0:
    print("x é positivo")
    if x > 10:
        print("x é maior do que 10")
    else:
        print("x é menor ou igual a 10")
else:
    print("x é negativo ou zero")

Indentação em funções no Python

No exemplo abaixo você pode observar um dos casos mais comuns de indentação em python. Eu acabei de definir uma função e colocar o símbolo de dois pontos: def add_numbers(x, y): Em python sempre que vamos definir uma função nós devemos utilizar a indentação.

def add_numbers(x, y):
    return x + y

result = add_numbers(3, 4)
print(result) # Output: 7
def calculate_sum(numbers):
    total = 0
    for number in numbers:
        total += number
    return total

nums = [1, 2, 3, 4, 5]
result = calculate_sum(nums)
print(result)

No exemplo acima, a função calculate_sum tem duas linhas de código indentadas. Isso significa que elas estão alinhadas com o início da linha da função, indicando que elas fazem parte do corpo da função. A primeira linha cria uma variável chamada total e a segunda linha é um loop que percorre a lista de números e adiciona cada número à variável total. A última linha de código não está indentada, indicando que ela não faz parte da função.

def find_even_numbers(numbers):
    even_nums = []
    for number in numbers:
        if number % 2 == 0:
            even_nums.append(number)
            if number > 5:
                print(f"{number} é maior do que 5")
        else:
            if number < 0:
                print(f"{number} é negativo")
    return even_nums

nums = [1, 2, 3, 4, 5, 6, 7, 8, -1, -2, -3]
result = find_even_numbers(nums)
print(result)

Neste exemplo, temos uma função chamada find_even_numbers que recebe uma lista de números como argumento. A função cria uma lista vazia chamada even_nums e usa um loop for para percorrer a lista de números. Dentro do loop, há uma estrutura if que verifica se o número atual é par (usando o operador de módulo %) e, se for verdadeiro, adiciona o número à lista even_nums e verifica se o número é maior que 5, se sim, imprime uma mensagem dizendo que o número é maior que 5. Se o número não for par, há outra estrutura if que verifica se o número é negativo, e se for verdadeiro, imprime uma mensagem dizendo que o número é negativo. A função retorna a lista de números pares.

Este exemplo mostra como as estruturas de controle de fluxo e a indentação podem ser usadas em conjunto para escrever códigos mais complexos e organizados.

Indentação na criação de classes em python

Assim como os exemplos anteriores, no código abaixo eu apresento vocês um código em que crio uma classe e faço o uso da indentação em python.

class Car:
    def __init__(self, make, model):
        self.make = make
        self.model = model
        
    def drive(self):
        print(f"Driving {self.make} {self.model}")

Neste exemplo, os métodos init e drive dentro da classe são recuados para indicar que fazem parte do corpo da classe e são executados quando um objeto da classe é criado ou métodos são chamados.

Em python a indentação é muito importante, torna o código fácil de ler e entender, indica o fluxo do código e o grupo de comandos que devem ser executados juntos. É importante ser consistente com o recuo, usando tabulações ou espaços, mas sem misturá-los.

Veja nesse post em que ensino como automatizar uma rotina de obtenção dos dados do CNES no python outros exemplos de indentação em Python.

Mais conteúdo de Python

Se você está procurando aprender a programar com Python de maneira clara e concisa, então este livro é para você. Ele fornece uma visão geral completa dos conceitos básicos da programação e ensina como aplicá-los usando o Python como linguagem de programação.

Nosso livro é projetado para ser acessível para iniciantes, mas também é valioso para programadores experientes que desejam aprimorar suas habilidades em Python. Ele cobre tópicos como variáveis, operações aritméticas, estruturas de controle de fluxo, funções e módulos, entre outros.

Além disso, incluímos exemplos de código e exercícios práticos para ajudá-lo a aplicar o que você aprendeu e fortalecer suas habilidades. Este livro é uma excelente ferramenta para aqueles que querem aprender a programar com Python de forma eficiente e divertida.

Não perca mais tempo e adquira já o seu exemplar “Fundamentos em Python: Guia Completo para iniciantes“! Estamos ansiosos para acompanhar sua jornada de aprendizado e crescimento como programador

Vídeo da Aula de Indentação em Python

Confira no vídeo a seguir a aula gravada. Na aula eu apresento todos os conceitos que trabalhamos aqui hoje.

Aula sobre Indentação em Python

Se você gostou das aulas de python confira meu livro de Fundamentos em Python. O livro é complementar a todo material escrito e gravado. Utilizo uma linguagem acessível, simples e com muitas analogias para facilitar o seu aprendizado. Confira o livro em: Fundamentos em Python: Guia completo para Iniciantes (Fundamentos em programação e computação) eBook : Savoia, Carlo: Amazon.com.br: Livros

Escrito por Erick Faria
Engenheiro de Dados com Ph.D. em Geografia e experiência em análise espacial e geoprocessamento. Expertise em processamento de grandes volumes de dados geoespaciais, imagens de satélite e dados de mercado, utilizando ferramentas como Spark, Databricks e Google Earth Engine. Experiência em projetos de mercado de carbono, modelos preditivos para investimentos agrícolas e liderança de projetos de dados em saúde pública. Habilidades em Python, R, SQL e diversas ferramentas de engenharia de dados. Profile