La función print() suele ser el primer comando que utiliza una persona al aprender Python. Sirve para mostrar texto, números, variables, resultados de cálculos y mensajes de diagnóstico en la salida estándar, normalmente un terminal o la consola del editor.
Esta guía explica print() en Python desde los ejemplos más básicos hasta separadores, finales de línea, f-strings, alineación, escritura en archivos, depuración y la diferencia entre imprimir, devolver y registrar información.
Primer ejemplo con print()
print("Hola, mundo")Python evalúa el valor entre paréntesis y escribe su representación textual. Las cadenas necesitan comillas, mientras que los números pueden escribirse directamente.
print("Python es legible")
print(42)
print(3.14)
print(10 + 5)La firma completa aparece en la documentación oficial de print(). Para conocer otras funciones esenciales, revisa la guía de funciones integradas de Python.
Mostrar variables
name = "Ana"
age = 24
print(name)
print(age)
print("Nombre:", name, "Edad:", age)Cuando pasas varios argumentos, Python los convierte a texto y añade un espacio entre ellos. Esto evita convertir manualmente un número con str().
El parámetro sep
sep cambia el texto colocado entre los argumentos:
print("2026", "07", "11", sep="-")
print("inicio", "usuario", "proyecto", sep="/")
print("rojo", "verde", "azul", sep=" | ")Es útil para salidas sencillas. Para archivos CSV reales, utiliza el módulo csv en lugar de construir filas manualmente.
El parámetro end
Por defecto, print() termina con un salto de línea. Cambia end para mantener la siguiente salida en la misma línea:
print("Cargando", end="")
print("...listo")También puedes mostrar una secuencia horizontal:
for number in range(1, 6):
print(number, end=" ")
print()La guía de range() en Python explica cómo se genera la secuencia.
Formatear con f-strings
Las f-strings suelen ser la forma más clara de combinar texto, variables y expresiones.
product = "Teclado"
price = 89.9
quantity = 3
print(f"Producto: {product}")
print(f"Precio unitario: ${price:.2f}")
print(f"Total: ${price * quantity:.2f}")Las especificaciones después de los dos puntos controlan decimales, porcentajes, ancho y alineación.
ratio = 0.8734
users = 1_250_000
print(f"Tasa de éxito: {ratio:.1%}")
print(f"Usuarios: {users:,}")Consulta la guía de formato de números y moneda con f-strings para más opciones.
Alinear columnas
items = [
("Cuaderno", 12.00),
("Ratón", 29.90),
("Cable", 8.50),
]
print(f"{'Producto':<15} {'Precio':>10}")
print("-" * 26)
for product, price in items:
print(f"{product:<15} ${price:>9.2f}")< alinea a la izquierda, > a la derecha y ^ centra el valor.
Caracteres de escape
print("Primera línea\nSegunda línea")
print("Nombre\tPuntuación")
print("Ella dijo: \"Hola\"")
print("C:\\Usuarios\\Ana\\proyecto")\n: salto de línea.\t: tabulación.\": comilla doble dentro de una cadena.\\: barra invertida literal.
Las cadenas sin procesar pueden ser útiles para rutas y expresiones regulares:
print(r"C:\Usuarios\Ana\proyecto")Mostrar listas y diccionarios
colors = ["azul", "verde", "naranja"]
user = {"name": "Sam", "active": True}
print(colors)
print(user)La representación predeterminada es útil durante la depuración. Para el usuario final, crea una salida más clara:
for position, color in enumerate(colors, start=1):
print(f"{position}. {color.title()}")
for key, value in user.items():
print(f"{key}: {value}")Escribir en un archivo
El parámetro file envía la salida a un flujo de texto:
with open("informe.txt", "w", encoding="utf-8") as report:
print("Informe mensual", file=report)
print("Pedidos: 128", file=report)
print("Ingresos: $4,250.00", file=report)El bloque with cierra el archivo correctamente. La guía de with en Python explica context managers y manejo seguro de recursos.
El parámetro flush
La salida puede permanecer en un búfer. flush=True solicita que se escriba inmediatamente:
import time
for second in range(3, 0, -1):
print(second, end=" ", flush=True)
time.sleep(1)
print("¡Ya!")Puede ser útil para indicadores de progreso, procesos externos y salida redirigida.
Mostrar representaciones con repr
Los espacios y saltos ocultos son difíciles de ver. La conversión !r muestra una representación orientada al desarrollador:
username = " ana\n"
print(f"username={username}")
print(f"username={username!r}")Python también ofrece la forma de depuración:
total = 15 * 4
print(f"{total=}")La guía sobre depuración con f-strings muestra más ejemplos.
print() frente a return
print() muestra un valor. return devuelve un resultado para que otra parte del programa pueda utilizarlo.
def add_wrong(a, b):
print(a + b)
def add(a, b):
return a + b
result = add(2, 3)
print(result * 10)Una función sin return explícito devuelve None. La guía de funciones en Python explica esta diferencia.
print() frente a logging
Los prints temporales son útiles para aprender y depurar. Las aplicaciones grandes suelen utilizar el módulo logging, que admite niveles, fechas, archivos y formatos configurables.
import logging
logging.basicConfig(level=logging.INFO)
logging.info("Aplicación iniciada")
logging.warning("Stock bajo")
logging.error("Pago fallido")La documentación oficial de logging describe handlers, formatters y niveles. Nunca imprimas contraseñas, tokens ni datos personales sensibles.
Ejemplo práctico: recibo
cart = [
("Café", 8.50, 2),
("Pan", 4.00, 1),
("Leche", 5.25, 3),
]
grand_total = 0
print("=" * 40)
print(f"{'ARTÍCULO':<14}{'CANT':>5}{'UNIT':>9}{'TOTAL':>12}")
print("-" * 40)
for name, unit_price, quantity in cart:
total = unit_price * quantity
grand_total += total
print(f"{name:<14}{quantity:>5}{unit_price:>9.2f}{total:>12.2f}")
print("-" * 40)
print(f"{'Total general':<28}${grand_total:>11.2f}")Errores frecuentes
- Olvidar los paréntesis en Python 3.
- No cerrar las comillas.
- Concatenar texto y números con
+sin convertir. - Imprimir una función en vez de llamarla.
- Confundir una salida visible con un valor retornado.
- Dejar mensajes de depuración con información privada.
Conclusión
print() es simple, pero ofrece muchas opciones. Aprende a utilizar sep, end, f-strings, alineación, archivos y representaciones de depuración. Distingue entre mostrar y devolver valores, y cambia a logging cuando necesites registros configurables en aplicaciones duraderas.






