Operaciones de Entrada y Salida
Salida a pantalla
Python también provee funciones para enviar la salida de un programa a la “salida estándar”, generalmente la pantalla o terminal1.
La función print()
muestra el valor pasado como parámetro:
nombre = "Eric"
print(nombre) # muestra "Eric"
Podemos imprimir múltiples valores separados por comas2:
print("Hola", nombre, "!") # muestra "Hola Eric!"
También podemos usar valores literales sin asignar a variables3:
print("2 + 3 =", 2 + 3) # muestra "2 + 3 = 5"
Formateo de salida
Python provee varias formas de dar formato a la salida4:
f-Strings: Permiten insertar variables dentro de una cadena:
nombre = "Eric"
print(f"Hola {nombre}") # muestra "Hola Eric"
%s: Inserta cadenas de texto en una cadena de formato:
nombre = "Eric"
print("Hola %s" % nombre) # muestra "Hola Eric"
%d: Inserta números enteros:
valor = 15
print("El valor es %d" % valor) # muestra "El valor es 15"
.format(): Inserta valores en una cadena de formato:
nombre = "Eric"
print("Hola {}. Bienvenido".format(nombre))
# muestra "Hola Eric. Bienvenido"
Estas opciones de formateo nos permiten interpolar variables y valores en cadenas de texto para generar outputs personalizados. Podemos combinar múltiples valores y formateos en una sola cadena de salida2.
Entrada desde el teclado
Python provee funciones incorporadas para leer datos ingresados por el usuario en tiempo de ejecución. Esto se conoce como “entrada estándar”4.
La función input()
permite leer un valor ingresado por el usuario y asignarlo a una variable. Por ejemplo:
nombre = input("Ingresa tu nombre: ")
Esto muestra el mensaje “Ingresa tu nombre: " y espera a que el usuario escriba un texto y presione Enter. Ese valor se asigna a la variable nombre
2.
La función input()
siempre regresa una cadena de texto. Si queremos pedir un número u otro tipo de dato, debemos convertirlo usando int()
, float()
, etc1:
edad = int(input("Ingresa tu edad: "))
pi = float(input("Ingresa el valor de pi: "))
Leyendo múltiples valores
Podemos pedir y leer varios valores en una misma línea separándolos con comas3:
nombre, edad = input("Ingresa nombre y edad: ").split()
El método split()
divide la entrada en partes y retorna una lista de cadenas. Luego asignamos los elementos de la lista a variables separadas.
También podemos leer varias líneas de entrada con un ciclo4:
nombres = [] # lista vacía
for x in range(3):
nombre = input("Ingresa un nombre: ")
nombres.append(nombre)
Este código lee 3 nombres ingresados por el usuario y los agrega a una lista.
Salida a un archivo
Además de imprimir a pantalla, podemos escribir la salida a un archivo usando la función open()
1:
archivo = open("datos.txt", "w")
Esto abre datos.txt
para escritura (“w”) y retorna un objeto archivo.
Luego usamos archivo.write()
para escribir a ese archivo3:
archivo.write("Hola mundo!")
archivo.write("Este texto va al archivo")
Debemos cerrar el archivo con archivo.close()
cuando terminamos4:
archivo.close()
También podemos usar with
para abrir y cerrar automáticamente2:
with open("datos.txt", "w") as archivo:
archivo.write("Hola mundo!")
# no hace falta cerrar, es automático
Lectura de archivos
Para leer un archivo usamos open()
con modo “r” y iteramos sobre el objeto archivo1:
with open("datos.txt", "r") as archivo:
for linea in archivo:
print(linea) # muestra cada línea del archivo
Esto imprime cada línea, incluyendo los saltos de línea.
Podemos leer todas las líneas a una lista con readlines()
3:
linenas = archivo.readlines()
print(linenas)
Para leer el contenido completo a una cadena usamos read()
4:
texto = archivo.read()
print(texto)
También podemos leer un número determinado de bytes o caracteres con read(n)
2.
Operaciones para el manejo de archivos
Existen varias funciones incorporadas para manipular archivos en Python1:
open()
- Abre un archivo y retorna un objeto archivoclose()
- Cierra el archivowrite()
- Escribe datos al archivoread()
- Lee datos del archivoreadline()
- Lee una línea del archivotruncate()
- Vacía el archivoseek()
- Mueve la posición de lectura/escriturarename()
- Renombra el archivoremove()
- Elimina el archivo
Estas funciones nos permiten efectuar operaciones avanzadas para leer, escribir y mantener archivos.
Conclusión
En este artículo explicamos en detalle operaciones de entrada y salida en Python, incluyendo leer de entrada estándar y escribir a salida estándar o archivos. Manejar correctamente la entrada y salida es esencial para muchas aplicaciones de Python. Recomiendo practicar con ejemplos propios para dominar estas funciones3.
¡Felicitaciones por llegar hasta acá! Espero que este recorrido por el universo de la programación te haya resultado tan interesante como lo fue para mí al escribirlo.
Queremos conocer tu opinión, así que no dudes en compartir tus comentarios, sugerencias y esas ideas brillantes que seguro tenés.
Además, para explorar más allá de estas líneas, date una vuelta por los ejemplos prácticos que armamos para vos. Todo el código y los proyectos los encontrás en nuestro repositorio de GitHub learn-software-engineering/examples-programming.
Gracias por ser parte de esta comunidad de aprendizaje. ¡Seguí programando y explorando nuevas areas en este fascinante mundo del software!
Referencias
McKinney, W. (2018). Python for data analysis: Data wrangling with Pandas, NumPy, and IPython. O’Reilly Media. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
Lutz, M. (2013). Learning Python: Powerful Object-Oriented Programming. O’Reilly Media, Incorporated. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
Matthes, E. (2015). Python crash course: A hands-on, project-based introduction to programming. No Starch Press. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
Downey, A. B. (2015). Think Python: How to think like a computer scientist. Needham, Massachusetts: Green Tea Press. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
Comentarios
¿Fue útil esta página?
¡Nos alegra mucho! Por favor dinos como podemos mejorar.
Nos apena que no te haya gustado. Por favor dinos como podemos mejorar.