CRITERIO

Lección 1 de 16 · Qué pasa antes y durante una sola línea

Hola mundo

Ver que Python compila todo antes de ejecutar, y que evalúa los argumentos antes de llamar a una función.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16

t<0 Antes de ejecutar

Lee el código y comprométete con una predicción

Mientras tanto, Python ya hizo su parte de t<0: leyó y compiló el archivo completo. Ninguna variable existe todavía.

programa.py

1print("Hola, mundo")
Antes de ejecutar: ¿qué hace Python primero?

t=0 t>0 Ejecución paso a paso

Qué se ejecuta primero y dónde vive cada variable

Avanza con Siguiente paso o las flechas del teclado. Pasa el mouse por una variable para ver a qué objeto apunta.

t=-1

Antes de ejecutar

Python lee y compila el archivo

programa.pyrecién ejecutadasiguiente
1print("Hola, mundo")

Salida

(vacía)

Qué pasó

  • Antes de ejecutar nada, Python lee el archivo completo y lo compila a bytecode: instrucciones que su máquina virtual entiende.
  • Si hubiera un error de sintaxis, el programa fallaría aquí, sin ejecutar ni una sola línea.
  • Nombres que aparecen en el código: print. Ninguno existe todavía en memoria.

Pila de marcos · dónde viven los nombres

Todavía no hay marcos: ninguna variable existe.

Montón · dónde viven los objetos

Ningún objeto todavía.

Idea clave

En t<0 Python lee y compila el archivo completo. En t=0 empieza: busca el nombre print, crea el objeto texto "Hola, mundo" en memoria y solo entonces llama a print con él. Primero los argumentos, después la llamada.

t>0 Después: repaso sin mirar

Recupera de memoria

Responde sin volver al paso a paso. Para dominar la lección necesitas 3 de 3.

¿Dónde vive el texto "Hola, mundo" mientras print lo usa?
¿Qué hace Python antes de ejecutar la primera línea?
¿Dónde encuentra Python el nombre print?

Explícalo con tus palabras (Feynman)

Dominio de la lección

Aún no

  • Falta la predicción (t<0)
  • Repaso: 0 de 3 (se necesitan 3)