🐍 Guía de Aula Invertida
vistas

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.

RC
Ing. Roy Carrasco
Facultad de Ingeniería de Sistemas · UAB

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.

Objetivo del módulo

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.

💻 Código en vivo

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.

Python
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.

Python
nombre = "Roy"
print(nombre)
print("Roy")
print(2 + 2)
Importante

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.

Python
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.

Python
nombre = "Roy"
carrera = "Ingeniería"
print("Nombre:", nombre, "Carrera:", carrera)
Muy útil

No es necesario convertir números a texto para mezclarlos con comas: print("Edad:", 20) funciona sin problema.

Ejemplo práctico

Python
nombre = "Ana"
edad = 21
promedio = 88.5
print("Estudiante:", nombre, "Edad:", edad, "Promedio:", promedio)

Salida:

Consola
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.

Python
print("Roy", "Carrasco", sep=" ")
print("2026", "07", "10", sep="-")
print("a", "b", "c", sep="")
CódigoResultado
sep=" "Roy Carrasco
sep="-"2026-07-10
sep=""abc
Uso recomendado

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.

Python
print("Cargando", end="...")
print("listo")

Salida:

Consola
Cargando...listo
Python
print("Uno", end=" ")
print("Dos", end=" ")
print("Tres")
Muy útil

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

Python
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.

  1. ¿Qué imprime print("a", "b", sep="-")?
  2. ¿Qué imprime print("a", "b", end="!")?
  3. ¿Qué diferencia hay entre no usar sep y usar sep=" "?
Python
print("a", "b", sep="-")
print("a", "b", end="!")
print()
Consejo del docente

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).

Python
nombre = "Roy"
print("Hola, " + nombre)
print("Hola,", nombre)
Diferencia clave

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.

Python
edad = 20
print("Tengo " + edad + " años")
¿Por qué ocurre?

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.

Python
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.

Python
nombre = "Roy"
edad = 30
print(f"Hola {nombre}")
print(f"Tienes {edad} años")
Ventaja

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.

Python
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).

Python
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.

Python
promedio = 87.4567
print(f"Promedio: {promedio:.2f}")
print(f"{'Nombre':<10}|{'Edad':>5}")
print(f"{'Juan':<10}|{20:>5}")
print(f"{1234567:,}")
EspecificadorEfecto
:.2fRedondea a 2 decimales.
:<10Alinea a la izquierda en un ancho de 10.
:>5Alinea a la derecha en un ancho de 5.
:,Agrega comas como separador de miles.
Uso recomendado

Muy útil para imprimir tablas de datos alineadas o reportes con números legibles directamente en la consola.

Imprimir una tarjeta con formato

Python
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 (\).

SecuenciaSignificadoEjemplo
\nNueva líneaHola
Mundo
\tTabulaciónNombre   Edad
\\Barra invertidaC:\Usuarios
\"Comilla doble"Python"
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.

Python
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.

Python
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 +.

Python
precio = 25
print("El precio es: " + precio)
Corrígelo

Edita el bloque anterior y corrige el error usando str(precio) o una coma en lugar de +.

Resumen

ElementoDescripció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.

  1. Imprime tu nombre completo y tu carrera en una sola línea usando comas.
  2. Usa sep="-" para imprimir una fecha como 10-07-2026.
  3. Usa end="" para construir una palabra letra por letra con varios print().
  4. Construye un mensaje de bienvenida usando un f-String con tu nombre y tu edad.
  5. Imprime un promedio con dos decimales usando :.2f.
  6. Imprime una línea de 50 signos "=" usando repetición.
  7. Provoca a propósito un TypeError concatenando texto y número con +, y luego corrígelo.
✍️ Resuelve aquí los ejercicios

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 sep y end al menos una vez cada uno.
  • Evitar cualquier TypeError al mezclar texto y números.
Salida esperada
=================================
DATOS DEL ESTUDIANTE
Nombre    : Ana López
Carrera   : Ingeniería
Semestre  : 4
Promedio  : 91.40
=================================

Cheat Sheet

UsoEjemplo
Valor simpleprint("Hola")
Varios valoresprint("a", "b", "c")
Separadorprint("a", "b", sep="-")
Final de líneaprint("a", end=" ")
f-Stringprint(f"Hola {nombre}")
Decimalesprint(f"{valor:.2f}")
Alinear textoprint(f"{'x':<10}")
Milesprint(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.