Python/Conceitos básicos/Indentação

A indentação é uma característica peculiar na linguagem.

Enquanto que os blocos são delimitados explicitamente em C, Java e PHP por chaves e em Pascal e Fortran por palavras-chave como then e endif, em Python blocos são delimitados por espaços ou tabulações formando uma indentação visual; não existem símbolos de “abre” e “fecha”.

Python requer uma indentação padronizada. Em outras linguagens, como C/C++ ou JavaScript, a indentação não é necessária devido aos delimitadores de blocos, sendo utilizada somente para melhor visualização.

Ao se usar um editor de texto comum, é fácil haver erros de indentação, sendo conveniente configurar o editor para a indentação do Python. As IDEs que suportam Python têm, em geral, a função de indentação automática.

  • Indentação correta:
def valor1(self):
     try:
        self.c = input('Primeiro Valor: ')
        c = self.c
        return c
     except:
        print 'Inválido!'
        self.valor1()
  • Indentação incorreta:
def valor1(self):
try:
self.c = input('Primeiro Valor: ')
c = self.c
return c
except:
print 'Inválido!'
self.valor1()

O código em si está correto para os dois exemplos, mas o analisador léxico irá verificar se, em cada bloco, a indentação está coerente. O analisador reconhecerá as diversas palavras-chave e verificará se os blocos estão indentados de acordo com o necessário.