1.1.3 Controle de bloco por indentação

Na maior parte das linguagens, há instruções ou símbolos específicos que delimitam blocos de código - os blocos que compõem o conteúdo de um laço ou expressão condicional, por exemplo. Em C:

    if (a < 0) {
        /* bloco de código */
    }

ou em Fortran:

    if (a .lt. 0) then
 C       bloco de código
    endif

os blocos são delimitados explicitamente -- em C por chaves, e em Fortran pelo par then e endif. Em Python, blocos de código são demarcados apenas por espaços formando uma indentação visual:

    print "O valor de a é "
    if a == 0:
        print "zero"
    else:
        print a

Esta propriedade faz com que o código seja muito claro e legível -- afinal, garante que a indentação esteja sempre correta -- porém requer costume e um controle mais formal2.



Notas de rodapé

... formal2
Por exemplo, é importante convencionar se a indentação será feita por uma tabulação ou por um número determinado de espaços, já que todos editando um mesmo módulo Python devem usar o mesmo padrão.