Ver con print, explicar con comentarios
Cómo print escribe varias cosas a la vez, cómo sep y end lo cambian, y por qué existen los comentarios: tu primera herramienta para ver dentro de un programa en ejecución.
¿Cómo quieres aprender?
El problema que vamos a resolver
Escribiste un programa. Lo ejecutaste. La terminal no dijo nada.
¿Funcionó? ¿Se detuvo a mitad? ¿A cuánto llegó el cálculo por dentro? No hay forma de saberlo, porque una computadora no ofrece nada por su cuenta —lo que quieras ver, tienes que pedirlo—.
print es la forma de pedirlo. Al principio es tu única ventana: hasta dónde llegó el programa, qué guarda una variable, qué produjo la aritmética. Los desarrolladores con experiencia meten llamadas a print en el código muchas veces al día, incluso con un depurador a mano —no hay nada de malo en eso, es parte del trabajo—.
Al terminar este capítulo podrás
- Imprimir varias cosas en una sola llamada, y controlar el hueco entre ellas
- Dar forma a la salida con
sepyend - Distinguir las cadenas (texto) de los números —por qué
"2" + "3"no es2 + 3— - Escribir comentarios, y distinguir qué comentarios merece la pena escribir de verdad
Requisitos previos: La terminal, las carpetas y tu primer proyecto.
print recibe más de una cosa
Separa tantos valores como quieras con comas y print los escribe a todos en una línea:
print("Order", 7, "confirmed")Order 7 confirmedFíjate en que nunca escribiste un espacio, y sin embargo las palabras salieron separadas. print pone por su cuenta un solo espacio entre cada valor separado por comas.
Y al final de cada print, salta a una línea nueva:
print("line one")
print("line two")line one
line twoUn print() vacío produce solo una línea en blanco —la forma más sencilla de partir una salida larga en grupos legibles—.
sep — el hueco, a tu manera
Si ese espacio no es el que quieres, cámbialo:
print("2026", "09", "10", sep="-")
print("home", "user", "notes.txt", sep="/")
print("a", "b", "c", sep="")2026-09-10
home/user/notes.txt
abcend — qué pasa al final de la línea
Por defecto print termina la línea y baja. Eso también se puede ajustar:
print("Loading", end="")
print(".", end="")
print(".", end="")
print(". done")Loading... doneCuatro llamadas a print por separado, una sola línea de salida —porque a las tres primeras se les dijo que no pusieran nada al final de la línea—.
Las cadenas y los números no son lo mismo
Estas dos líneas parecen casi idénticas y se comportan de forma distinta:
print(2 + 3)
print("2" + "3")5
23Dentro de comillas es una cadena (texto), y + no suma —une—. Fuera de comillas es un número, y + suma de verdad.
Esta distinción es la base de los capítulos que siguen, y también la causa de aproximadamente la mitad de los errores con los que se encuentran los principiantes. De momento recuerda solo la regla: comillas significan cadena.
Comentarios — las líneas que Python nunca lee
Desde un # hasta el final de esa línea, Python lo ignora todo:
# Friday delivery report
total = 12 + 8
print("Total:", total) # the sum shown at the bottom of the reportTotal: 20Los comentarios no afectan en nada a cómo se ejecuta el programa. Son para personas —para tu colega, y para ti dentro de tres meses, para entonces habrás olvidado todo esto—.
*Un buen comentario dice por qué, no qué.* Lo que hace el código se ve en el código:
# Weak: repeats what the code already says
count = count + 1 # add 1 to count
# Useful: gives the reason, which the code cannot show
count = count + 1 # the header row was counted too, so shift by oneDel primero no aprendes nada —la línea suma uno claramente—. El segundo dice por qué se suma uno, algo que ninguna cantidad de leer el código te diría.
Mientras aprendes, los comentarios tienen un uso más —desactivar una línea temporalmente para ver cómo se comporta el programa sin ella—:
print("first")
# print("second")
print("third")first
thirdUn ejemplo completo
Crea report.py y ejecútalo:
# A small sales report
print("=" * 24)
print("SALES REPORT")
print("=" * 24)
print("Items sold:", 3 + 5 + 2)
print("Revenue:", 3 * 120 + 5 * 90 + 2 * 250)
print()
print("Prepared by", "Rafi", sep=": ")========================
SALES REPORT
========================
Items sold: 10
Revenue: 1310
Prepared by: RafiFíjate en la línea en blanco después de Revenue: 1310 en la salida —viene del print() vacío—. Separa la última parte del informe.
Mira también "=" * 24. Multiplicar una cadena por un número hace que Python la repita tantas veces, así que no hace falta escribir veinticuatro signos iguales a mano para dibujar una raya.
Cuando algo falla
SyntaxError: unterminated string literal Se abrió una comilla y nunca se cerró. print("Hello) hace esto. Cuenta las comillas de apertura y de cierre.
Necesitas una comilla dentro de la cadena Usa un tipo fuera y el otro dentro: print("It's working") o print('She said "yes"').
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)? Escribir print "Hello" produce este error. Esa es sintaxis de Python 2. En Python 3 print es una función, así que necesita paréntesis: print("Hello"). El error suele llegar de un tutorial antiguo o de una respuesta por ahí.
Dar a sep o end un valor sin comillas print("a", "b", sep=-) da SyntaxError: invalid syntax. sep y end siempre reciben una cadena: sep="-".
¿En qué idioma deben estar los comentarios? Python acepta comentarios en cualquier idioma —lo que haya después de #, Python no lo lee—. Pero en el código que compartes con otros o usas en el trabajo, escribe los comentarios en inglés. La razón es práctica: no todo el equipo al que llega tu código leerá tu idioma, y los mensajes de error, la documentación y las respuestas que encuentras en línea están todos en inglés. Por eso todo el código de este curso —comentarios, nombres de variables, nombres de archivos— está en inglés, y solo la explicación está en tu idioma.
Paso 4 de 6 — Predice
Comprueba lo que has entendido
¿Qué aparece exactamente en la terminal cuando se ejecutan estas tres líneas?
print("a", "b", "c", sep="-")
print("x", end=" ")
print("y")- Aa-b-c x y
- Ba-b-c x y
- Cabc x y
- Da-b-c x y
Las dos líneas usan +. ¿Cuál es la salida?
print(2 + 3)
print("2" + "3")- A5, y luego un error —`+` no se puede usar con cadenas—
- B5 5
- C5 23
- D23 23
¿Qué imprime este programa y por qué?
price = 250
# price = 400
print("Price:", price)- A`Price: 400` —gana el valor posterior
- BUn error —la misma variable no se puede asignar dos veces—
- C`Price: 250` —la segunda línea es un comentario, así que Python nunca la lee—
- D`Price: 250` y después `Price: 400` —las dos líneas se ejecutan—
Para responder necesitas una cuenta
Inicia sesión para comprobar tus respuestas
Las preguntas están arriba, y resolverlas mentalmente es lo que de verdad importa. Inicia sesión para ver las respuestas, las explicaciones y las pistas de tres niveles.
Tu turno
Escribe un archivo llamado profile.py que produzca exactamente esta salida:
------------------------
NAME : Rafi
ROLE : Python learner
------------------------
Age next year: 23Tres condiciones:
- Las rayas de arriba y de abajo deben producirse con multiplicación, no escribiendo veinticuatro guiones a mano
- Las líneas
NAME : RafiyROLE : Python learnerdeben usarsep - En la línea
Age next year, no escribas el número a mano —obtenlo con una suma, por ejemplo22 + 1—
Y pon un comentario en la primera línea del archivo que diga por qué existe el archivo —no qué hace—.
Esta misión tiene más
Lo que has leído arriba es la misión completa: no se ha recortado nada. Pro añade:
- Qué ocurre realmente por debajo: cómo ejecuta Python esto
- La solución completa del ejercicio, resuelta paso a paso
- Ejercicios extra más difíciles
- La pregunta de entrevista sobre este tema, con una respuesta modelo
Paso 6 de 6
Reto — el quiz del capítulo
Diez preguntas de fácil a difícil. Las últimas son difíciles a propósito.
Inicia sesión para hacer el quiz