Saltar al contenido principal
InicioTutorialesPython

Función Print() de Python

Aprenda cómo puede aprovechar la capacidad de una simple función de impresión de Python de varias maneras con la ayuda de ejemplos.
may 2024  · 10 min leer

Si te estás iniciando en Python y quieres aprender más, sigue el curso Introducción a la ciencia de datos en Python de DataCamp.

banner

Muchos de ustedes, mientras leen este tutorial, podrían pensar que no hay nada por descubrir acerca de una simple función de impresión de Python, ya que todos ustedes habrían comenzado a aprender Python con el eterno ejemplo de imprimir Hello, World!. También es cierto que Python o, para el caso, cualquier lenguaje de programación, la función Imprimir es la más básica y el paso de bebé que se da mientras se aprende un lenguaje en particular. Sin embargo, mientras se aprende un lenguaje de programación, a veces se tiende a centrarse en temas más avanzados y muchas veces se olvidan los entresijos o las capacidades de una función sencilla que casi siempre se utiliza.

El tutorial de hoy se centrará por completo en la función Imprimir de Python; aprenderás sobre la función más subestimada.

Comencemos este tutorial imprimiendo el ejemplo Hello, World!.

print("Hello, World!")
Hello, World!

A diferencia de Python2, que no requería que pusiera un paréntesis, en Python3, el paréntesis es obligatorio, de lo contrario se producirá un error de sintaxis como se muestra a continuación.

print "Hello, World!"
  File "", line 1
    print "Hello, World!"
                        ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Hello, World!")?

De la salida anterior, se puede concluir que en Python3, print() no es una declaración, sino una función.

Dicho esto, comprobemos la type/class de la función print().

type(print)
builtin_function_or_method

Devuelve builtin_function_or_method, lo que significa que es un Python Function predefinido o incorporado.

Ahora digamos que desea añadir una nueva línea o un espacio vertical entre las dos salidas de abajo, para lograr esto usted puede simplemente llamar a la función print() sin pasar ningún argumento en ella.

print("Hello, World!");print("Hello, World!")
Hello, World!
Hello, World!
print("Hello, World!")
print()
print("Hello, World!")
Hello, World!

Hello, World!

Veamos la sintaxis de la función print(). print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Como ya sabrás, la función print imprime los valores a un stream, o a sys.stdout por defecto. El sys.stdout o salida estándar del sistema significa que la función print imprimirá la salida en la pantalla, e incluso se puede cambiar a stdin o stderr.

Argumentos opcionales de palabra clave:

  • sep: Puede ser una cadena que desee insertar entre los valores, por defecto es un espacio.

    Pongamos una lista de palabras dentro de la función de impresión y separémoslas con una nueva línea. Recuerde que, por defecto, el separador añade un espacio en blanco entre cada palabra.

print('datacamp','tutorial','on','python','print','function')
datacamp tutorial on python print function
print('datacamp','tutorial','on','python','print','function',sep='\n') #`\n` will put each word in a new line
datacamp
tutorial
on
python
print
function

Del mismo modo, puede separarlos con una coma, o añadir dos \n que añadirá una línea vacía en medio o incluso añadir un signo más $(+)$.

print('datacamp','tutorial','on','python','print','function',sep=',')
datacamp,tutorial,on,python,print,function
print('datacamp','tutorial','on','python','print','function',sep='\n\n')
datacamp

tutorial

on

python

print

function
print('datacamp','tutorial','on','python','print','function',sep=',+')
datacamp,+tutorial,+on,+python,+print,+function

Antes de pasar al siguiente argumento, es decir, end, recuerde que también puede pasar una variable a la función print. Para entenderlo, pongamos un ejemplo definiendo una lista de enteros y pasándola a la función print. Es de esperar que imprima la lista de enteros.

int_list = [1,2,3,4,5,6]
print(int_list)
[1, 2, 3, 4, 5, 6]
  • end: Es una cadena que se añade después del último valor, por defecto es una nueva línea. Permite al programador definir un carácter final personalizado para cada llamada de impresión distinto de la nueva línea predeterminada o de \n.

    Digamos que tienes dos cadenas y quieres unirlas con un espacio, todo lo que tendrías que hacer es en la función de impresión de la primera cadena str1 añadir end argumento entre comillas, y puedes esperar que las dos cadenas se unan con un espacio.

str1 = 'datacamp tutorial on'
str2 = 'python print function'
print(str1)
print(str2)
datacamp tutorial on
python print function
print(str1,end=' ')
print(str2)
datacamp tutorial on python print function

Tomemos otro ejemplo en el que tenemos una función cuyo trabajo es imprimir todos los valores de una lista en la misma línea. Puede conseguirlo con el argumento end, como se muestra a continuación:

def value(items):
    for item in items:
        print(item, end=' ')
value([1,2,3,4])
1 2 3 4
  • file: Un objeto similar a un archivo (stream); por defecto es el sys.stdout actual. Aquí puede mencionar el archivo en el que desea escribir o anexar la salida de la función de impresión.

    Utilizando el argumento archivo, puede almacenar la salida de la función de impresión en un archivo en varios formatos como .csv, .txt, etc. Entendamos esto tomando un ejemplo en el que se itera sobre cada elemento de la lista. Se guarda en un archivo de texto. Para ello, en primer lugar, abrirá un archivo de texto en un estado append en el que guardará la salida de la sentencia print. A continuación, definirá la función cuya salida se añadirá al archivo de texto.

file = open('print.txt','a+')
def value(items):
    for item in items:
        print(item, file=file)
    file.close() # close the file ones the function execution completes.
value([1,2,3,4,5,6,7,8,9,10])

Una vez completada la ejecución de la función anterior, debería ver un archivo llamado print.txt en su directorio actual. Abrámoslo y veamos su contenido.

output

De la salida anterior, está claro que incluso puede guardar la salida en archivos y no sólo imprimir la salida en el terminal o dentro del cuaderno.

  • flush: Determina si se debe vaciar forzosamente el flujo. Por defecto, está en False.

    Normalmente, la salida a un archivo o a la consola se almacena en búfer, con salida de texto al menos hasta que se imprime una nueva línea(Source). Buffer significa que la salida se almacena en algún tipo de registro donde reside la salida antes de que esté lista para ser almacenada o de que el archivo se cierre definitivamente. El trabajo de la descarga es asegurarse de que la salida, que está siendo almacenada en búfer, va al destino de forma segura.

import time
print('Please enter your email-id : ', end=' ')
#print('Please enter your email-id : ', end=' ', flush=True) #run this to see the difference and comment out the above line of code.
time.sleep(5)
Please enter your email-id :  

Si ejecuta las líneas de código anteriores en el terminal, observará que la cadena de aviso no aparece hasta que finaliza el temporizador de reposo y el programa sale(Fuente). Sin embargo, si añade flush=True en la función de impresión, verá el aviso y tendrá que esperar 5 segundos a que termine el programa.

De alguna manera el Jupyter Notebook o Jupyter Lab se encarga de ello y muestra el prompt antes del temporizador de 5 segundos, así que si quieres probar esta funcionalidad de impresión, asegúrate de ejecutarlo en la terminal de línea de comandos y no en el jupyter notebook.

Veamos ahora cómo se puede hacer uso de la función de impresión para tomar la entrada del usuario en el cuaderno jupyter. Para ello, utilizará la función integrada de python input().

tutorial_topic = input()
print("The topic of today's tutorial is: ", end='')
print(tutorial_topic)
 Print Function


The topic of today's tutorial is: Print Function

En cuanto ejecute la celda anterior, debería ver una salida como la que se muestra a continuación:

output

Aquí definiste un argumento opcional con nombre end que aprendiste antes, el cual concatena la sentencia static dentro de la sentencia print con la entrada del usuario.

Veamos algunas formas más interesantes de imprimir valores variables dentro de la función print.

  • Para mostrar el valor de una variable junto con una cadena predefinida, basta con añadir una coma entre ambos. Aquí la posición de la cadena predefinida y de la variable no importa.
a = 2
b = "Datacamp"
print(a,"is an integer while",b,"is a string.")
2 is an integer while Datacamp is a string.
  • Puede hacer uso del argumento format en el que puede pasar tantas variables como desee imprimir. Al pasar las variables en la función de formato, es necesario especificar los números de índice (orden en que se colocan dentro del argumento de formato) en la cadena predefinida. Esta función de impresión le servirá de plantilla.

    Otra cosa que hay que recordar es que aquí los números de índice se representan con una llave {} que representa un marcador de posición.

    Entendámoslo con el siguiente ejemplo:

a = 2
b = "Datacamp"
print("{0} is an integer while {1} is a string.".format(a,b))
2 is an integer while Datacamp is a string.

Si pones el número de índice de la segunda variable en ambos lugares, como es de esperar, imprimirá los mismos valores, en este caso, b variable para ambos.

print("{1} is an integer while {1} is a string.".format(a,b))
Datacamp is an integer while Datacamp is a string.
  • De forma similar a un argumento de format en el que la función print actúa como plantilla, dispone de un signo de porcentaje (%) que puede utilizar para imprimir los valores de las variables.

    Al igual que el argumento format, este también tiene un concepto de marcadores de posición. Sin embargo, a diferencia de la función format, en la que sólo se introducen los números de índice, en esta también es necesario especificar el tipo de datos que debe esperar el marcador de posición.

    • %d se utiliza como marcador de posición para valores numéricos o decimales.
    • %s se utiliza como marcador de posición para cadenas.
a = 2
b = "Datacamp"
print("%d is an integer while %s is a string."%(a,b))
2 is an integer while Datacamp is a string.

Veamos qué ocurre si especificamos %s para la variable a que es un entero.

print("%s is an integer while %s is a string."%(a,b))
2 is an integer while Datacamp is a string.

Como puedes ver en el ejemplo anterior, sigue funcionando. La razón es que la función Print realizaba implícitamente typecasting y convertía el número entero en una cadena. Sin embargo, lo contrario no es cierto. Fallará al convertir una cadena a un número entero y dará como resultado TypeError.

Averigüémoslo.

print("%d is an integer while %d is a string."%(a,b))
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

 in 
----> 1 print("%d is an integer while %d is a string."%(a,b))


TypeError: %d format: a number is required, not str

Conclusión

Enhorabuena por terminar el tutorial.

Este tutorial es un buen punto de partida para los principiantes que aspiran a dominar Python. Puede que quieras jugar un poco más con la función Imprimir y explorar algunas funcionalidades más que puede que se te hayan escapado en este tutorial.

No dudes en hacer cualquier pregunta relacionada con este tutorial en la sección de comentarios más abajo.

Si acaba de iniciarse en Python y desea obtener más información, consulte el curso Introducción a la ciencia de datos en Python de DataCamp y el tutorial sobre funciones de Python.

Temas

Cursos de Python

Course

Introduction to Python

4 hr
5.5M
Master the basics of data analysis with Python in just four hours. This online course will introduce the Python interface and explore popular packages.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

tutorial

Cómo recortar una cadena en Python: Tres métodos diferentes

Aprenda los fundamentos del recorte de caracteres iniciales y finales de una cadena en Python.
Adel Nehme's photo

Adel Nehme

5 min

tutorial

Pandas Profiling (ydata-profiling) en Python: Guía para principiantes

Aprenda a utilizar la biblioteca ydata-profiling en Python para generar informes detallados de conjuntos de datos con muchas características.
Satyam Tripathi's photo

Satyam Tripathi

9 min

tutorial

Guía completa de listas vacías en Python

Aprenda las principales operaciones con listas y los casos de uso de las listas vacías en Python.
Adel Nehme's photo

Adel Nehme

5 min

tutorial

Guía paso a paso para hacer mapas en Python usando la librería Plotly

Haz que tus datos destaquen con impresionantes mapas creados con Plotly en Python
Moez Ali's photo

Moez Ali

7 min

tutorial

Tutorial de Python Seaborn Line Plot: Crear visualizaciones de datos

Descubra cómo utilizar Seaborn, una popular biblioteca de visualización de datos de Python, para crear y personalizar gráficos de líneas en Python.
Elena Kosourova's photo

Elena Kosourova

12 min

tutorial

Gráfico lineal de series temporales Matplotlib

Este tutorial explora cómo crear y personalizar gráficos de líneas de series temporales en matplotlib.
Elena Kosourova's photo

Elena Kosourova

8 min

See MoreSee More