Chamou minha atenção que mesmo Python que é usualmente interpretada e/ou usa JIT Compilation, também pode ser compilada, é isso mesmo?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Chamou minha atenção que mesmo Python que é usualmente interpretada e/ou usa JIT Compilation, também pode ser compilada, é isso mesmo?
Olá, Daniel. Tudo bem?
No Python, a compilação é um processo intermediário. O código escrito em Python é compilado para um Bytecode, que é uma representação mais baixo nível, menos compreensível por humanos, que será lido pelo interpretador. Ela é considerada interpretada porque o código gerado após a compilação não é código de máquina, mas sim um código intermediário, então não pode ser executado diretamente pela máquina, mas sim pelo interpretador.
Espero ter ajudado.
Oi, Daniel!
Isso! Como Python é só uma linguagem, usualmente isso não interfere na sua implementação de fato. Entretanto, a linguagem Python foi realmente construída para ser interpretada e é normalmente executada da forma que o Vitor comentou.
Mesmo assim, existem implementações que compilam Python pra binário. O único que testei foi o Nuitka, esse artigo ou esse vídeo podem explicar mais sobre.
Aqui, fiz um teste simples instalando o nuitka, compilando um pequeno código test.py e executando o binário resultante na pasta test.dist (exemplo em linux):
pip install nuitka
python3 -m nuitka --standalone test.py
./test.dist/testAssim, esse programa de fato transforma o código python em um binário executável. Não testei com programas mais complexos para analisar o comportamento, mas pareceu interessante.
Abraços!