Python | Salida usando la función print()

La función Python print() imprime el mensaje en la pantalla o en cualquier otro dispositivo de salida estándar.

Sintaxis: print(valor(es), sep= ‘ ‘, end = ‘\n’, file=file, flush=flush)

Parámetros: 

  • value(s) : Cualquier valor, y tantos como quieras. Se convertirá en string antes de imprimir
  • sep=’separator’ : (Opcional) Especifique cómo separar los objetos, si hay más de uno. Por defecto :’ ‘
  • end=’end’: (Opcional) Especifique qué imprimir al final. Predeterminado: ‘\n’
  • archivo: (opcional) un objeto con un método de escritura. Predeterminado: sys.stdout
  • flush : (opcional) un valor booleano que especifica si la salida se vacía (verdadero) o se almacena en búfer (falso). Valor predeterminado: falso

Devoluciones: Devuelve la salida a la pantalla.

Aunque no es necesario pasar argumentos en la función print(), requiere un paréntesis vacío al final que le dice a Python que ejecute la función en lugar de llamarla por su nombre. Ahora, exploremos los argumentos opcionales que se pueden usar con la función print().

Literales de string

Los literales de string en la declaración de impresión de python se usan principalmente para formatear o diseñar cómo aparece una string específica cuando se imprime usando la función print().

  • \n : este literal de string se usa para agregar una nueva línea en blanco al imprimir una declaración.
  • “” : Se utiliza una comilla vacía (“”) para imprimir una línea vacía.

Ejemplo:

Python3

print("GeeksforGeeks \n is best for DSA Content.")

Producción:

GeeksforGeeks 
 is best for DSA Content.

end= declaración ” ”

La palabra clave end se usa para especificar el contenido que se imprimirá al final de la ejecución de la función print(). De forma predeterminada, se establece en «\n», lo que lleva al cambio de línea después de la ejecución de la instrucción print().

Ejemplo: Python print() sin nueva línea.

Python3

# This line will automatically add a new line before the
# next print statement
print ("GeeksForGeeks is the best platform for DSA content")
 
# This print() function ends with "**" as set in the end argument.
print ("GeeksForGeeks is the best platform for DSA content", end= "**")
print("Welcome to GFG")

Producción:

GeeksForGeeks is the best platform for DSA content
GeeksForGeeks is the best platform for DSA content**Welcome to GFG

Argumento al ras

Las E/S en python generalmente se almacenan en búfer, lo que significa que se usan en fragmentos. Aquí es donde entra en juego la descarga, ya que ayuda a los usuarios a decidir si necesitan que el contenido escrito se almacene en búfer o no. De forma predeterminada, se establece en falso. Si se establece en verdadero, la salida se escribirá como una secuencia de caracteres uno tras otro. Este proceso es lento simplemente porque es más fácil escribir por partes en lugar de escribir un carácter a la vez. Para entender el caso de uso del argumento flush en la función print(), tomemos un ejemplo.

Ejemplo:

Imagina que estás construyendo un temporizador de cuenta regresiva, que agrega el tiempo restante a la misma línea cada segundo. Se vería algo como a continuación:

3>>>2>>>1>>>Start

El código inicial para esto se vería como a continuación;

Python3

import time
 
count_seconds = 3
for i in reversed(range(count_seconds + 1)):
    if i > 0:
        print(i, end='>>>')
        time.sleep(1)
    else:
        print('Start')

Entonces, el código anterior agrega texto sin una nueva línea al final y luego duerme durante un segundo después de cada adición de texto. Al final de la cuenta regresiva, imprime Inicio y termina la línea. Si ejecuta el código tal como está, espera 3 segundos e imprime abruptamente todo el texto a la vez. Esta es una pérdida de 3 segundos causada por el almacenamiento en búfer del fragmento de texto, como se muestra a continuación:

Aunque el almacenamiento en búfer tiene un propósito, puede provocar efectos no deseados como se muestra arriba. Para contrarrestar el mismo problema, el argumento de descarga se usa con la función print(). Ahora, establezca el argumento de descarga como verdadero y vuelva a ver los resultados.

Python3

import time
 
count_seconds = 3
for i in reversed(range(count_seconds + 1)):
    if i > 0:
        print(i, end='>>>', flush = True)
        time.sleep(1)
    else:
        print('Start')

Producción:

Separador

La función print() puede aceptar cualquier número de argumentos posicionales. Estos argumentos se pueden separar entre sí mediante un separador “,” . Estos se utilizan principalmente para dar formato a varias declaraciones en una sola función de impresión().

Ejemplo:

Python3

b = "for"
 
print("Geeks", b , "Geeks")

Producción:

Geeks for Geeks

Argumento del archivo

Contrariamente a la creencia popular, la función print() no convierte los mensajes en texto en la pantalla. Estos se realizan mediante capas de código de nivel inferior, que pueden leer datos (mensajes) en bytes. La función print() es una interfaz sobre estas capas, que delega la impresión real a un flujo o un objeto similar a un archivo . De forma predeterminada, la función print() está vinculada a sys.stdout a través del argumento del archivo. 

Ejemplo: Python print() a archivo

Python3

import io
 
# declare a dummy file
dummy_file = io.StringIO()
 
# add message to the dummy file
print('Hello Geeks!!', file=dummy_file)
 
# get the value from dummy file
dummy_file.getvalue()

Producción:

'Hello Geeks!!\n'

Ejemplo: Uso de la función print() en Python

Python3

# Python 3.x program showing
# how to print data on
# a screen
 
# One object is passed
print("GeeksForGeeks")
 
x = 5
# Two objects are passed
print("x =", x)
 
# code for disabling the softspace feature
print('G', 'F', 'G', sep='')
 
# using end argument
print("Python", end='@')
print("GeeksforGeeks")

Producción:

GeeksForGeeks
x = 5
GFG
Python@GeeksforGeeks

Publicación traducida automáticamente

Artículo escrito por ABHISHEK TIWARI 13 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *