Funcionamiento interno de Python

Python es un lenguaje de programación orientado a objetos como Java. Python se llama un lenguaje interpretado. Python usa módulos de código que son intercambiables en lugar de una sola lista larga de instrucciones que era estándar para los lenguajes de programación funcionales. La implementación estándar de python se llama «cpython». Es la implementación predeterminada y ampliamente utilizada de Python. 
Python no convierte su código en código de máquina, algo que el hardware puede entender. De hecho, lo convierte en algo llamado código de bytes. Entonces, dentro de python, la compilación ocurre, pero no en un lenguaje de máquina. Está en código de bytes (.pyc o .pyo) y la CPU no puede entender este código de bytes. Entonces, necesitamos un intérprete llamado máquina virtual Python para ejecutar los códigos de bytes. 
 

El código fuente de Python pasa por lo siguiente para generar un código ejecutable: 
 

  • Paso 1: el compilador de python lee un código fuente o una instrucción de python. Luego verifica que la instrucción esté bien formateada, es decir, verifica la sintaxis de cada línea. Si encuentra un error, detiene inmediatamente la traducción y muestra un mensaje de error.
  • Paso 2: si no hay ningún error, es decir, si la instrucción de Python o el código fuente están bien formateados, el compilador lo traduce a su forma equivalente en un lenguaje intermedio llamado «código de bytes».
  • Paso 3: el código de bytes se envía a la máquina virtual de Python (PVM), que es el intérprete de Python. PVM convierte el código de bytes de Python en un código ejecutable por máquina. Si se produce un error durante esta interpretación, la conversión se detiene con un mensaje de error.

Referencias: 
https://leanpub.com/insidethepythonvirtualmachine/read  
http://highered.mheducation.com/sites/9387067572/information_center_view0/index.html
 

Publicación traducida automáticamente

Artículo escrito por vivekkothari y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *