En Informática, la "salida" de un programa son los datos que el programa proporciona al exterior. Aunque en los inicios de la informática la salida más habitual era una impresora, hace muchos años que el dispositivo de salida más habitual es la pantalla del ordenador.
En un entorno interactivo (por ejemplo, en IDLE), para que python nos muestre el valor de una variable basta con escribir su nombre.
>>> a = 2 >>> a 2
También se puede conocer el valor de varias variables a la vez escribiéndolas entre comas (el entorno interactivo las mostrará entre paréntesis), como muestra el siguiente ejemplo:
>>> a = b = 2 >>> c = "pepe" >>> a 2 >>> c, b ('pepe', 2)
En los programas, para que python nos muestre texto o variables hay que utilizar la función print().
La función print() permite mostrar texto en pantalla. El texto a mostrar se escribe como argumento de la función:
print("Hola")
Hola
Las cadenas se pueden delimitar tanto por comillas dobles (") como por comillas simples (').
print('Hola')
Hola
Nota: En estos apuntes se utilizan normalmente comillas dobles.
La función print() admite varios argumentos seguidos. En el programa, los argumentos deben separarse por comas. Los argumentos se muestran en el mismo orden y en la misma línea, separados por espacios:
print("Hola", "Adiós")
Hola Adiós
Cuando se trata de dos cadenas seguidas, se puede no escribir comas entre ellas, pero las cadenas se escribirán seguidas, sin espacio en blanco entre ellas:
print("Hola" "Adiós")
HolaAdios
Al final de cada print(), Python añade automáticamente un salto de línea:
print("Hola")
print("Adiós")
Hola Adiós
Para generar una línea en blanco, se puede escribir una orden print() sin argumentos.
print("Hola")
print()
print("Adiós")
Hola Adiós
Si se quiere que Python no añada un salto de línea al final de un print(), se debe añadir al final el argumento end="":
print("Hola", end="")
print("Adiós")
HolaAdios
En el ejemplo anterior, las dos cadenas se muestran pegadas. Si se quieren separar los argumentos en la salida, hay que incluir los espacios deseados (bien en la cadena, bien en el argumento end):
print("Hola. ", end="")
print("Adiós")
Hola. Adiós
print("Hola.", end=" ")
print("Adiós")
Hola. Adiós
El valor del parámetro end puede ser una variable:
texto = " y "
print("Hola", end=texto)
print("Adiós")
Hola y Adiós
El valor del parámetro end puede ser una cadena f:
texto = "y"
print("Hola", end=f" {texto} ")
print("Adiós")
Hola y Adiós
Como las comillas indican el principio y el final de una cadena, si se escriben comillas dentro de comillas se produce un error de sintaxis.
print("Un tipo le dice a otro: "¿Cómo estás?"")
File "prueba.py", line 1 print("Un tipo le dice a otro: "¿Cómo estás?"") ^ SyntaxError: invalid character in identifier
En IDLE se muestra una ventana indicando el error:
print('Un tipo le dice a otro: '¿Cómo estás?'')
File "prueba.py", line 1 print('Un tipo le dice a otro: '¿Cómo estás?'') ^ SyntaxError: invalid character in identifier
En IDLE se muestra una ventana indicando el error:
Nota: Si nos fijamos en la forma como el editor colorea la instrucción, podemos darnos cuenta de que hay un error en ella. Como las cadenas empiezan y acaban con cada comilla, el editor identifica dos cadenas y un texto en medio que no sabe lo que es.
Para incluir comillas dentro de comillas, se puede escribir una contrabarra (\) antes de la comilla para que Python reconozca la comilla como carácter, no como delimitador de la cadena:
print("Un tipo le dice a otro: \"¿Cómo estás?\"")
print('Y el otro le contesta: \'¡Pues anda que tú!\'')
Un tipo le dice a otro: "¿Cómo estás?" Y el otro le contesta: '¡Pues anda que tú!'
O escribir comillas distintas a las utilizadas como delimitador de la cadena:
print("Un tipo le dice a otro: '¿Cómo estás?'")
print('Y el otro le contesta: "¡Pues anda que tú!"')
Un tipo le dice a otro: '¿Cómo estás?' Y el otro le contesta: "¡Pues anda que tú!"
La función print() permite incluir variables o expresiones como argumentos, lo que nos permite combinar texto y variables:
nombre = "Pepe"
edad = 25
print("Me llamo", nombre, "y tengo", edad, "años.")
Me llamo Pepe y tengo 25 años.
semanas = 4
print("En", semanas , "semanas hay", 7 * semanas, "días.")
En 4 semanas hay 28 días.
La función print() muestra los argumentos separados por espacios, lo que a veces no es conveniente. En el ejemplo siguiente el signo de exclamación se muestra separado de la palabra.
nombre = "Pepe"
print("¡Hola,", nombre, "!")
¡Hola, Pepe !
Antes de Python 3.6 estas situaciones se podían resolver de una forma algo engorrosa (que se comenta en la lección de temas obsoletos), pero a partir de Python 3.6 se recomienda utilizar las cadenas "f".
nombre = "Pepe"
print(f"¡Hola, {nombre}!")
¡Hola, Pepe!
En general, las cadenas "f" permiten combinar, cadenas, variables y expresiones de una forma más clara:
nombre = "Pepe"
edad = 25
print(f"Me llamo {nombre} y tengo {edad} años.")
Me llamo Pepe y tengo 25 años.
semanas = 4
print(f"En {semanas} semanas hay {7 * semanas} días.")
En 4 semanas hay 28 días.