Dominando print() en Python
La primera instrucción que aprende todo programador, pero con muchos más trucos de los que parece. Aprende a mostrar información en pantalla con ejemplos prácticos que puedes editar y ejecutar en vivo.
Bienvenido
print() es la función que utilizarás en prácticamente todos los programas que escribas. Sirve para comunicar al usuario lo que ocurre dentro del código: resultados, mensajes, errores o cualquier información que necesite mostrarse en pantalla.
Al finalizar esta guía dominarás todas las formas de usar print(): valores múltiples, separadores, finales de línea personalizados, f-Strings y formato de salida.
Todos los bloques con el encabezado Python son editables: presiona ✏️ Editar para modificar el código y ▶ Ejecutar para correrlo de verdad en tu navegador (usa Pyodide, un Python real compilado a WebAssembly). La primera ejecución tarda unos segundos porque descarga el intérprete.
📖 Aprende
Conceptos explicados paso a paso.
💻 Practica
Decenas de ejemplos editables y ejecutables.
🎯 Domina
Ejercicios de dificultad creciente.
¿Qué es print()?
print() es una función incorporada de Python: siempre está disponible, sin necesidad de importar nada. Su trabajo es mostrar en la consola el valor que le pases entre paréntesis.
print("Hola, mundo")
print("Bienvenido a Python")
print("Facultad de Ingeniería de Sistemas")
Cada llamada a print() muestra su contenido y luego salta a una nueva línea, por lo que el siguiente print() aparecerá debajo.
Sintaxis básica
La forma más simple es print(valor), donde valor puede ser texto, un número, una variable o el resultado de una operación.
nombre = "Roy"
print(nombre)
print("Roy")
print(2 + 2)
Si el valor es texto, debe ir entre comillas. Si es una variable o una operación, no.
print() sin argumentos
print() también puede llamarse vacío. En ese caso solamente imprime una línea en blanco, muy útil para separar visualmente bloques de salida.
print("Primer bloque")
print()
print("Segundo bloque")
Imprimir múltiples valores
print() acepta más de un valor a la vez, separados por comas. Python los mostrará todos en la misma línea, separados automáticamente por un espacio.
nombre = "Roy"
carrera = "Ingeniería"
print("Nombre:", nombre, "Carrera:", carrera)
No es necesario convertir números a texto para mezclarlos con comas: print("Edad:", 20) funciona sin problema.
Ejemplo práctico
nombre = "Ana"
edad = 21
promedio = 88.5
print("Estudiante:", nombre, "Edad:", edad, "Promedio:", promedio)
Salida:
Estudiante: Ana Edad: 21 Promedio: 88.5
El parámetro sep
Por defecto, cuando imprimes varios valores separados por comas, Python los une con un espacio. El parámetro sep permite cambiar ese separador.
print("Roy", "Carrasco", sep=" ")
print("2026", "07", "10", sep="-")
print("a", "b", "c", sep="")
| Código | Resultado |
|---|---|
sep=" " | Roy Carrasco |
sep="-" | 2026-07-10 |
sep="" | abc |
Muy útil para construir fechas, rutas de archivo o listas separadas por comas sin necesidad de concatenar strings manualmente.
El parámetro end
Por defecto, cada print() termina con un salto de línea (\n). El parámetro end permite reemplazar ese final por cualquier otro texto.
print("Cargando", end="...")
print("listo")
Salida:
Cargando...listo
print("Uno", end=" ")
print("Dos", end=" ")
print("Tres")
Con end="" puedes construir una línea usando varios print() seguidos, por ejemplo dentro de un bucle que muestra una barra de progreso.
Combinando sep y end
print("*", "*", "*", "*", "*", sep="", end="\n\n")
print("Fin del encabezado")
Mini reto
Sin ejecutar el programa, intenta predecir la salida. Luego verifica editando y ejecutando el bloque de código.
- ¿Qué imprime
print("a", "b", sep="-")? - ¿Qué imprime
print("a", "b", end="!")? - ¿Qué diferencia hay entre no usar
sepy usarsep=" "?
print("a", "b", sep="-")
print("a", "b", end="!")
print()
Antes de ejecutar un programa, intenta predecir el resultado. Ese hábito acelera muchísimo el aprendizaje de programación.
Concatenar con + vs. usar comas
Además de las comas, puedes construir el mensaje con el operador +. La diferencia importante es que + exige que todos los valores sean del mismo tipo (texto con texto).
nombre = "Roy"
print("Hola, " + nombre)
print("Hola,", nombre)
Con comas, Python añade el espacio automáticamente y convierte los valores a texto por ti. Con +, tú controlas cada espacio, pero debes convertir manualmente los valores que no sean texto.
Error frecuente: mezclar tipos con +
Si intentas concatenar texto con un número usando +, Python produce un error. Prueba ejecutar este bloque para ver el error real.
edad = 20
print("Tengo " + edad + " años")
Obtendrás TypeError: can only concatenate str (not "int") to str. La solución es convertir el número con str(), o mejor aún, usar comas o un f-String.
edad = 20
print("Tengo " + str(edad) + " años")
print("Tengo", edad, "años")
f-Strings dentro de print()
Los f-Strings son la forma más legible de insertar variables dentro de un mensaje: antepones la letra f a la cadena y colocas las variables entre llaves.
nombre = "Roy"
edad = 30
print(f"Hola {nombre}")
print(f"Tienes {edad} años")
No necesitas convertir números con str() ni preocuparte por espacios: el f-String los inserta exactamente donde escribas las llaves.
Expresiones dentro de un f-String
Dentro de las llaves puedes colocar operaciones y expresiones, no solo nombres de variables.
a = 15
b = 7
print(f"La suma es {a+b}")
print(f"El doble de a es {a*2}")
print(f"La división es {a/b}")
f-Strings de depuración
Desde Python 3.8, agregar = después de una expresión imprime también su nombre, útil para depurar rápidamente sin escribir print("variable:", variable).
nombre = "Roy"
edad = 30
print(f"{nombre=}")
print(f"{edad=}")
print(f"{edad*2=}")
Formato avanzado dentro de print()
Dentro de las llaves de un f-String puedes agregar :especificador para controlar decimales, ancho y alineación del texto que se imprime.
promedio = 87.4567
print(f"Promedio: {promedio:.2f}")
print(f"{'Nombre':<10}|{'Edad':>5}")
print(f"{'Juan':<10}|{20:>5}")
print(f"{1234567:,}")
| Especificador | Efecto |
|---|---|
:.2f | Redondea a 2 decimales. |
:<10 | Alinea a la izquierda en un ancho de 10. |
:>5 | Alinea a la derecha en un ancho de 5. |
:, | Agrega comas como separador de miles. |
Muy útil para imprimir tablas de datos alineadas o reportes con números legibles directamente en la consola.
Imprimir una tarjeta con formato
nombre = "Juan"
carrera = "Ingeniería"
semestre = 2
promedio = 87.5
print(f"""
===== INFORMACIÓN DEL ESTUDIANTE =====
Nombre : {nombre}
Carrera : {carrera}
Semestre : {semestre}
Promedio : {promedio:.1f}
======================================
""")
Caracteres especiales dentro de print()
Algunos caracteres no pueden escribirse directamente dentro de una cadena. Para ello Python utiliza las secuencias de escape, que comienzan con una barra invertida (\).
| Secuencia | Significado | Ejemplo |
|---|---|---|
\n | Nueva línea | Hola Mundo |
\t | Tabulación | Nombre Edad |
\\ | Barra invertida | C:\Usuarios |
\" | Comilla doble | "Python" |
print("Primera línea\nSegunda línea")
print("Nombre:\tJuan")
print("C:\\Usuarios\\Roy")
print("\"Python\"")
print() con comillas triples
Las comillas triples permiten imprimir bloques completos de texto respetando los saltos de línea, sin necesidad de escribir \n en cada uno.
print("""
Bienvenido al Sistema
Universidad Adventista de Bolivia
Ingeniería de Sistemas
""")
Repetición y separadores visuales
Combinar print() con el operador * es una forma rápida de construir encabezados y separadores en la consola.
print("=" * 40)
print("SISTEMA DE VENTAS".center(40))
print("=" * 40)
Errores comunes
❌ Olvidar los paréntesis
En Python 3, print "Hola" (sin paréntesis) produce un SyntaxError. Siempre usa print("Hola").
❌ Mezclar texto y número con +
print("Edad: " + 20) falla con TypeError. Usa comas, str() o un f-String.
❌ Olvidar la letra f
Si escribes print("Hola {nombre}") sin anteponer f, Python muestra literalmente {nombre}.
Prueba el error
Ejecuta este bloque para observar en vivo el error de mezclar tipos con +.
precio = 25
print("El precio es: " + precio)
Edita el bloque anterior y corrige el error usando str(precio) o una coma en lugar de +.
Resumen
| Elemento | Descripción |
|---|---|
print(valor) | Muestra un valor en pantalla. |
print(a, b, c) | Muestra varios valores separados por espacio. |
sep= | Cambia el separador entre valores. |
end= | Cambia el final de la línea (por defecto \n). |
f"texto {var}" | Inserta variables directamente en el mensaje. |
f"{var:.2f}" | Aplica formato numérico dentro del mensaje. |
Ejercicios Propuestos
Pon en práctica lo aprendido resolviendo los siguientes ejercicios directamente en el bloque editable.
- Imprime tu nombre completo y tu carrera en una sola línea usando comas.
- Usa
sep="-"para imprimir una fecha como10-07-2026. - Usa
end=""para construir una palabra letra por letra con variosprint(). - Construye un mensaje de bienvenida usando un f-String con tu nombre y tu edad.
- Imprime un promedio con dos decimales usando
:.2f. - Imprime una línea de 50 signos "=" usando repetición.
- Provoca a propósito un
TypeErrorconcatenando texto y número con +, y luego corrígelo.
Reto Final
Desarrolla un programa que defina las siguientes variables:
- Nombre completo
- Carrera
- Semestre
- Promedio
El programa deberá:
- Mostrar una tarjeta usando un único f-String multilínea.
- Mostrar el promedio con dos decimales.
- Usar
sepyendal menos una vez cada uno. - Evitar cualquier
TypeErroral mezclar texto y números.
================================= DATOS DEL ESTUDIANTE Nombre : Ana López Carrera : Ingeniería Semestre : 4 Promedio : 91.40 =================================
Cheat Sheet
| Uso | Ejemplo |
|---|---|
| Valor simple | print("Hola") |
| Varios valores | print("a", "b", "c") |
| Separador | print("a", "b", sep="-") |
| Final de línea | print("a", end=" ") |
| f-String | print(f"Hola {nombre}") |
| Decimales | print(f"{valor:.2f}") |
| Alinear texto | print(f"{'x':<10}") |
| Miles | print(f"{1000000:,}") |
¿Sabías que...?
🐍 En Python 2 era distinto
Antes se escribía print "Hola", sin paréntesis. Desde Python 3, siempre es una función.
🚀 print() también acepta flush
El parámetro flush=True fuerza a mostrar el texto de inmediato, útil en barras de progreso.
📖 Todo pasa por sys.stdout
Internamente, print() escribe en la salida estándar del programa.