Es imprescindible entender el código correctamente previamente a aplicarlo a tu trabajo si tdeseas aportar algo puedes compartirlo con nosotros.
Solución:
Depende de cómo ejecutes el intérprete de Python. Si le proporciona un archivo fuente completo, primero analizará todo el archivo y lo convertirá en código de bytes antes de ejecutar cualquier instrucción. Pero si lo alimenta línea por línea, analizará y ejecutará el código. bloque por bloque:
python script.py
: analizar archivo completopython < script.py
: analizar y ejecutar por bloque
Este último es típicamente la forma en que lo usa de forma interactiva o a través de un shell GUI como idle
.
Es un mito que Python es un lenguaje completamente interpretado. Cuando CPython ejecuta un script, el código fuente se analiza (aquí es donde detectará los errores de sintaxis) y se compila en código de bytes (a veces estos se almacenan en caché en su directorio como .pyc
archivos) antes de que se ejecute nada. En este sentido, Python no es tan fundamentalmente diferente de Java o C #, aparte de que no dedica mucho tiempo a optimizar, y creo que el código de bytes se interpreta una instrucción a la vez, en lugar de ser JITed al código de la máquina (a menos que estás usando algo como PyPy).
Porque su comprensión del intérprete es defectuosa. Si bien es posible que el comportamiento que está describiendo ocurra para un subconjunto de errores, no es el caso común para muchos (¿la mayoría?) de los errores.
Si el intérprete puede construir lo que cree que es un programa válido pero hay un error en el tiempo de ejecución, sucederá lo que está describiendo.
Dado que el caso que está señalando es un error de sintaxis que impide que se construya un programa válido, el comportamiento es como lo ve.
Sección de Reseñas y Valoraciones
Si entiendes que ha resultado útil nuestro artículo, sería de mucha ayuda si lo compartieras con otros desarrolladores y nos ayudes a extender nuestra información.