powered - ¿Por qué usar el modo interactivo de Python?
python powered (10)
La primera vez que comencé a leer sobre Python, todos los tutoriales han utilizado el modo interactivo de Python. Es difícil guardar, escribir programas largos o editar las líneas existentes (al menos para mí). Parece una forma mucho más difícil de escribir código Python que abrir un archivo code.py y ejecutar el intérprete en ese archivo.
python code.py
Vengo de un entorno Java, por lo que tengo arraigadas expectativas de escribir y compilar archivos para programas. También sé que una característica no sería tan prominente en la documentación de Python si no fuera de alguna manera útil. Entonces, ¿qué me estoy perdiendo?
¿Está hablando de ejecutar Python en la consola simplemente escribiendo "python"? Eso es solo para pequeños exámenes y para practicar con el idioma. Es muy útil cuando se aprende el idioma y se prueban otros módulos.
¡Por supuesto, cualquier proyecto de software real está escrito en archivos .py y luego ejecutado por el intérprete!
Al codificar en Java, casi siempre tendrá la API abierta en alguna ventana del navegador. Sin embargo, con el intérprete de python, siempre puede importar cualquier módulo que esté pensando usar y verificar lo que ofrece. También puede probar el comportamiento de los nuevos métodos de los que no está seguro, para eliminar el "¡Oh! Así es como funciona" como fuente de errores.
Como ya se mencionó, el intérprete interactivo de Python brinda una manera rápida y sucia de probar funciones simples de Python y / o fragmentos de código.
Personalmente uso el shell de Python como una forma muy rápida de realizar operaciones numéricas simples (proporcionadas por el módulo math
). Tengo la configuración de mi entorno, de modo que el módulo matemático se importa automáticamente cada vez que inicio un shell de Python. De hecho, es una buena manera de "comercializar" Python a no Pythoniasts. Muéstrales cómo pueden usar Python como una calculadora científica prolija, y para hacer prototipos matemáticos simples.
El intérprete de Python es un denominador menos común: puedes ejecutarlo en múltiples plataformas, y actúa de la misma manera (módulos de módulos específicos de la plataforma), por lo que es bastante fácil lograr que un novato vaya con él.
Es mucho más fácil decirle a un novato que inicie el intérprete y "haga esto" que pedirle que abra un archivo, ingrese algún código, guárdelo, hágalo ejecutable, asegúrese de que Python esté en su RUTA o use un #! línea, etc., etc. Deseche todo eso y simplemente inicie el intérprete. Para ejemplos simples, no puedes vencerlo. Nunca fue pensado para programas largos, por lo que si lo usabas para eso, probablemente te perdiste la parte del tutorial que te dijo "los scripts más largos van en un archivo". :)
El intérprete interactivo me parece muy, muy bueno para probar código rápido o para mostrar a otros el poder de Python. A veces también uso el intérprete como una calculadora útil. Es asombroso lo que puedes hacer en muy poco tiempo.
Aparte de la consola incorporada, también tengo que recomendar Pyshell . Tiene finalización automática y un resaltado de sintaxis decente. También puede editar varias líneas de código a la vez. Por supuesto, no es perfecto, pero ciertamente es mejor que la consola Python predeterminada.
El modo interactivo facilita la prueba de fragmentos de código antes de incorporarlos en un programa más grande. Si usas IDLE, hay resaltado de sintaxis y ventanas emergentes de argumentos para ayudarte. También es una forma rápida de comprobar que ha descubierto cómo usar un módulo sin tener que escribir un programa de prueba.
Una cosa utilizo el modo interactivo para que otros no hayan mencionado: para ver si un módulo está instalado. Simplemente encienda Python e intente import
el módulo; si muere, entonces su PYTHONPATH se rompe o el módulo no está instalado.
Este es un gran primer paso para "Oye, no está funcionando en mi máquina" o "Qué Python hizo que se instalara, de todos modos" errores.
Veamos:
Si quieres saber cómo funciona algo, puedes intentarlo. No hay necesidad de escribir un archivo. Casi siempre escribo mis programas en el intérprete antes de codificarlos. No es solo por cosas que no sabes cómo funcionan en el lenguaje de programación. Nunca recuerdo cuáles son los argumentos correctos para crear un rango, por ejemplo, [-2, -1, 0, 1]. No necesito Solo tengo que encender el intérprete y probar cosas hasta que descubra que está en el
range(-2, 2)
(lo hice en este momento, en realidad).Puedes usarlo como calculadora.
Python es un lenguaje de programación muy introspectivo. Si desea saber algo acerca de un objeto, simplemente puede hacer
dir(object)
. Si usa IPython, incluso puede hacerobject.<TAB>
y completará los métodos y atributos de ese objeto. Eso es mucho más rápido que buscar cosas en la documentación o incluso en el código.help(anything)
para la documentación. Es mucho más rápido que cualquier interfaz web.Nuevamente, tienes que usar IPython (muy recomendado), pero puedes cronometrar cosas.
%timeit func1()
y%timeit func2()
es un modismo común para determinar qué es más rápido.¿Con qué frecuencia ha querido escribir un programa para usar una vez, y luego nunca más? La forma más rápida de hacerlo es hacerlo en el intérprete de Python. Claro, debes tener cuidado al escribir los bucles o las funciones (deben tener la sintaxis correcta la primera vez), pero la mayoría de las cosas son solo línea por línea, y puedes jugar con ellas.
Depuración No es necesario que coloque instrucciones de impresión selectiva en el código para ver qué variables hay cuando las escribe en el intérprete. Solo tienes que escribir
>>> a
, y mostrará lo que es. Agradable de nuevo para ver si has construido algo correctamente. El pdb del depurador de Python de construcción también utiliza la funcionalidad de intrépidos, por lo que no solo puede ver qué es una variable cuando se depura, sino que también puede manipularla o incluso cambiarla sin detener la depuración.
Cuando la gente dice que Python se desarrolla más rápido, garantizo que esto es una gran parte de lo que están hablando.
Comentaristas: cualquier cosa que estoy olvidando?
utiliza el intérprete interactivo para probar fragmentos de su código antes de ponerlos en su script.
Los bucles REPL (como el modo interactivo de Python) proporcionan información inmediata al programador. Como tal, puede escribir y probar rápidamente pequeñas piezas de código, y ensamblar esas piezas en un programa más grande.