¿Python es un lenguaje compilado o un lenguaje interpretado?
¿Lenguajes interpretados y lenguajes compilados?
Las computadoras no pueden reconocer lenguajes de alto nivel, por lo que cuando ejecutamos programas de alto nivel, necesitamos un "traductor" para completar la conversión de los lenguajes de alto nivel a lenguaje de máquina que la computadora pueda leer
entender. Este proceso se divide en dos categorías, la primera es compilación y la segunda es interpretación.
El lenguaje compilado utiliza un compilador para compilar el programa antes de ejecutarlo y convertirlo a lenguaje de máquina. En tiempo de ejecución, no se requiere traducción, sino que se ejecuta directamente. El ejemplo más típico es el lenguaje C.
Los lenguajes interpretados no tienen este proceso de compilación, pero cuando el programa se está ejecutando, el intérprete interpretará el programa línea por línea y luego lo ejecutará directamente. El ejemplo más típico es Ruby.
A través de los ejemplos anteriores, podemos resumir las ventajas y desventajas de los lenguajes interpretados y los lenguajes compilados, porque los lenguajes compilados han "traducido" el programa al lenguaje de máquina antes de ejecutarlo. Dado que el lenguaje compilado "traduce" el programa antes de ejecutarlo, el proceso de "traducción" se omite durante el tiempo de ejecución y es más eficiente. Sin embargo, cabe señalar que el intérprete puede optimizar algunos lenguajes interpretados, optimizando todo el programa durante el proceso de traducción, de modo que la eficiencia sea cercana a la de los lenguajes compilados, pero no supere la de los lenguajes compilados.
Sitio web de aprendizaje de Python, sitio web gratuito de aprendizaje de Python, ¡bienvenido al aprendizaje en línea!
Además, con el auge de los lenguajes basados en máquinas virtuales (como Java), los lenguajes no se pueden dividir simplemente en tipos interpretados y compilados.
Tome Java como ejemplo. El compilador primero compila Java en un archivo de código de bytes y luego el intérprete lo interpreta en un archivo de máquina en tiempo de ejecución. Por eso decimos que Java es un lenguaje que primero se compila y luego se interpreta.
Python es un lenguaje interpretado, y siempre lo pensé así hasta que descubrí la existencia de archivos *.pyc.
Si es un lenguaje interpretado, ¿cuál es el archivo *.pyc que se genera?
Para evitar que otras personas que aprenden Python malinterpreten esta oración, aclarémosla en el artículo y aclaremos algunos conceptos básicos. Python no es un lenguaje completamente interpretado. Se compila. El archivo py del código fuente se compila primero en pyc o pyo y luego se ejecuta mediante la máquina virtual Python. En comparación con el archivo py, se compila en pyc y
.pyo esencialmente no es muy diferente de py, excepto que la velocidad de carga de este módulo mejora, pero no mejora. Por lo general, no es necesario compilar activamente archivos pyc.
Por el contrario, la documentación dice que model.py se compilará en un archivo pyc siempre que se llame al modelo de importación. py se compilará en pyc y luego se cargará
¿Qué es exactamente Python?
Python es en realidad un lenguaje basado en máquinas virtuales, al igual que Java/C#. Echemos un vistazo rápido a cómo funcionan los programas Python.
Cuando escribimos python hello.py en la línea de comando, activamos el "intérprete" de Python y le decimos al "intérprete" que quieres empezar a trabajar. Pero antes de la "interpretación", lo primero que hay que hacer es compilar, como Java.