Fiz a revisão e parece que o capítulo afetado era apenas o terceiro. Ótimo! Estamos 100% no senso comum e isso é bom para quem está começando a programar. Porém, ao revelar que você é um programador C++ experiente me permite sair do senso comum e contribuir com algo mais técnico.
Na documentação do Python temos:
"Python is an interpreted language, as opposed to a compiled one, though the distinction can be blurry because of the presence of the bytecode compiler."
Tradução minha:
Python é uma linguagem interpretada , em oposição às compiladas, embora a distinção pode ficar desfocada devido à presença do compilador de bytecode
Temos um compilador, porém de bycode. Então é uma linguagem compilada?
Em 2003, Fredrik Lundh (http://effbot.org/zone/python-compile.htm), em seu artigo Compiling Python Code, título que perverte o senso comum começa:
"Python source code is automatically compiled into Python byte code by the CPython interpreter. Compiled code is usually stored in PYC (or PYO) files, and is regenerated when the source is updated, or when otherwise necessary."
Tradução livre minha:
O código fonte é automaticamente compilado no bytecode do Python pelo interpretador CPython. O código compilado é comumente armazenado nos arquivos no PYC (ou PY0), sendo regerado quando o arquivo fonte é atualizado ou quando é necessário.
E aí? Python é interpretada ou compilada? As duas coisas? Lembro de discussões acaloradas com meus colegas de trabalho, cada um com sua opinião. Então, uma resposta que me atendeu muito bem está no StackOverFlow, aliás, a resposta mais bem avaliada:
(http://stackoverflow.com/questions/6889747/is-python-interpreted-or-compiled-or-both)
"First off, interpreted/compiled is not a property of the language but a property of the implementation (...) Python is compiled. Not compiled to machine code ahead of time (i.e. "compiled" by the restricted and wrong, but alas common definition), "only" compiled to to bytecode"
Tradução livre minha:
O fato de uma linguagem ser interpretada ou compilada não é uma questão da linguagem, mas da sua implementação. (...) Python é compilada. Não compilada para o código de máquina além do tempo, apenas para o bytecode.
Isso significa que alguém pode implementar o Python totalmente compilado, totalmente interpretado ou ambos, a linguagem continua a mesma.
Isso não quer dizer que o link que você postou está errado, muito pelo contrário. O autor foi demais engenhoso delimitando a análise no escopo da arquitetura da linguagem de programação, um viés totalmente válido.
O mais legal é que podemos trazer esse debate para o Alura. Penso em adicionar uma pergunta no treinamento sobre a questão do Python ser interpretado ou compilado. Tenho certeza que teremos respostas mescladas, mas isso é que torna o debate interessante.
Agradeço mais uma vez pelo seu olhar atento no que diz respeito aos nossos treinamentos e com certeza você contribuiu mais do que imaginava.
Um abraço do Flávio Almeida