Paso 3: Usar la ventana interactiva de REPL
Paso anterior: Escribir y ejecutar código
La ventana interactiva de Visual Studio para Python proporciona una experiencia de lectura-evaluación-impresión-repetición (REPL) que reduce considerablemente el ciclo habitual de edición-compilación-depuración. La ventana interactiva proporciona todas las funciones de la experiencia de REPL de la línea de comandos de Python. También resulta fácil intercambiar el código con archivos de código fuente en el editor de Visual Studio, que en otros casos es complicado con la línea de comandos.
Nota
Si tiene problemas con REPL, asegúrese de tener instalados los paquetes ipython
y ipykernel
. Si necesita instalar paquetes, consulte la pestaña de los paquetes de los entornos de Python.
Abra la ventana interactiva haciendo clic con el botón derecho en el entorno de Python del proyecto en el Explorador de soluciones (por ejemplo, Python 3.6 (32 bits) como se muestra en un gráfico anterior) y seleccione Abrir ventana interactiva. Otra forma es seleccionar Ver>Otras ventanas>Ventanas interactivas de Python en el menú principal de Visual Studio.
Se abre la ventana interactiva debajo del editor, con el símbolo estándar del sistema de REPL de Python >>>. La lista desplegable Plataforma permite seleccionar un intérprete específico con el que trabajar. Si quiere agrandar la ventana interactiva, puede arrastrar el separador entre las dos ventanas, tal y como se muestra en la imagen siguiente:
Sugerencia
Puede cambiar el tamaño de todas las ventanas en Visual Studio si arrastra los separadores de los bordes. También puede arrastrar las ventanas independientemente del marco de Visual Studio y reorganizarlas como prefiera dentro del marco. Para más información, vea Personalizar los diseños de ventana.
Escriba algunas instrucciones (como
print("Hello, Visual Studio")
) y expresiones (como123/456
) para ver los resultados inmediatos:Al empezar a escribir una instrucción multilínea (como una definición de función), la ventana interactiva muestra el mensaje ... de Python para las líneas continuas. A diferencia de REPL de línea de comandos, esto proporciona una sangría automática. Puede agregar una nueva línea ... presionando
Shift+Enter
:La ventana interactiva proporciona un historial completo de todo lo que ha escrito y ofrece mejoras con respecto a la línea de comandos de REPL con elementos de historial multilínea. Por ejemplo, puede recuperar fácilmente la definición completa de la función
f
como una única unidad y cambiar el nombre con facilidad amake_double
, en lugar de tener que volver a crear la función línea por línea.En Visual Studio se pueden enviar varias líneas de código desde una ventana del editor a la ventana interactiva. Esta característica permite mantener el código en un archivo de código fuente y enviar con facilidad elementos seleccionados a la ventana Interactiva. Después, puede trabajar con estos fragmentos de código en el entorno de REPL rápido en lugar de tener que ejecutar el programa completo. Para ver esta característica, reemplace el bucle
for
del archivo PythonApplication1.py por el código siguiente:# Create a string with spaces proportional to a cosine of x in degrees def make_dot_string(x): return ' ' * int(20 * cos(radians(x)) + 20) + 'o'
Seleccione las instrucciones de función
import
,from
ymake_dot_string
en el archivo .py. Haga clic con el botón derecho del texto seleccionado y elija Enviar a interactivo (o presione Ctrl+ENTRAR). El fragmento de código se pega inmediatamente en la ventana interactiva y se ejecuta. Dado que el código ha definido una función, puede probarla rápidamente si la invoca varias veces:Sugerencia
Al presionar Ctrl+Entrar en el editor sin una selección se ejecuta la línea de código actual en la ventana interactiva y se coloca automáticamente el símbolo de intercalación en la línea siguiente. Con esta característica, puede presionar varias veces Ctrl+Entrar para recorrer el código, algo que no era posible hacer solo con la línea de comandos de Python. También permite recorrer el código sin ejecutar el depurador y sin necesidad de iniciar el programa desde el principio.
También puede copiar y pegar varias líneas de código en la ventana interactiva desde cualquier origen, como el fragmento de código siguiente, lo que es difícil de hacer con el REPL de la línea de comandos de Python. Cuando se pega, la ventana interactiva ejecuta el código como si se hubiera escrito:
for i in range(360): s = make_dot_string(i) print(s)
Como puede ver, este código funciona correctamente, pero su salida no es interesante. Un valor de paso diferente en el bucle
for
mostraría más cantidad de la onda del coseno. Todo el bucle for está disponible en el historial de REPL como una sola unidad. Puede volver atrás y realizar los cambios que quiera y, a continuación, probar la función de nuevo. Presione la tecla Flecha arriba para recuperar primero el buclefor
. Puede pulsar las teclas de flecha derecha y flecha izquierda para desplazarse por el código (hasta que lo haga, estas teclas seguirán moviendo el foco por el historial). Vaya a la especificaciónrange
y cámbiela porrange(0, 360, 12)
. Después, presione Ctrl+Entrar en cualquier lugar del código para volver a ejecutar la instrucción completa:Repita el proceso para experimentar con valores de paso diferentes hasta que encuentre el que más le guste. También puede hacer que se repita la onda si amplía el intervalo, por ejemplo,
range(0, 1800, 12)
.Cuando esté satisfecho con el código que escribió en la ventana interactiva, selecciónelo. A continuación, haga clic con el botón derecho en el código y elija Copiar código (Ctrl+Mayús+C). Por último, pegue el código seleccionado en el editor. Observe que esta característica especial de Visual Studio omite automáticamente cualquier salida junto con los símbolos
>>>
y...
. Por ejemplo, en la imagen siguiente se muestra el uso del comando Copiar código en una selección que incluye los símbolos y la salida:Al pegar en el editor, solamente se obtiene el código:
for i in range(0, 1800, 12): s = make_dot_string(i) print(s)
Si quiere copiar el contenido exacto de la ventana interactiva, incluidos los símbolos y la salida, use el comando Copiar estándar.
Lo que acaba de hacer es usar el entorno de REPL rápido de la ventana interactiva para elaborar los detalles de un pequeño fragmento de código y después lo ha agregado cómodamente al archivo de código fuente del proyecto. Si ahora vuelve a ejecutar el código con Ctrl+F5 (o Depurar>Iniciar sin depurar), verá los resultados exactos que quería.