Python | Formato de salida

Hay varias formas de presentar la salida de un programa. Los datos se pueden imprimir en una forma legible por humanos, o escribirse en un archivo para uso futuro, o incluso en alguna otra forma específica. Los usuarios a menudo quieren más control sobre el formato de salida que simplemente imprimir valores separados por espacios. Hay varias formas de formatear la salida. 

  • Para usar literales de string formateados , comience una string con f o F antes de las comillas de apertura o las comillas triples.
  • la calle El método format() de strings ayuda a un usuario a crear una salida más elegante
  • Los usuarios pueden realizar todo el manejo de strings mediante el uso de operaciones de división y concatenación de strings para crear cualquier diseño que deseen los usuarios. El tipo de string tiene algunos métodos que realizan operaciones útiles para rellenar strings a un ancho de columna determinado.

Formato de salida usando el operador de módulo de string (%): 
el operador % también se puede usar para formatear strings. Interpreta el argumento de la izquierda de forma muy parecida a un formato de estilo printf() como en las strings del lenguaje C que se aplicarán al argumento de la derecha. En Python, no existe la función printf() pero la funcionalidad del antiguo printf está contenida en Python. Con este propósito, la clase de string sobrecarga el operador de módulo % para realizar el formato de string. Por lo tanto, a menudo se le llama operador de módulo de string (o, a veces, incluso llamado módulo). 

El operador de módulo de string ( % ) todavía está disponible en Python (3.x) y se usa ampliamente. Pero hoy en día, el antiguo estilo de formato se elimina del idioma. 

Python3

# Python program showing how to use
# string modulo operator(%) to print
# fancier output
 
# print integer and float value
print("Geeks : %2d, Portal : %5.2f" % (1, 05.333))
 
# print integer value
print("Total students : %3d, Boys : %2d" % (240, 120))
 
# print octal value
print("%7.3o" % (25))
 
# print exponential value
print("%10.3E" % (356.08977))

Producción : 

Geeks :  1, Portal : 5.33
Total students : 240, Boys : 120
    031
3.561E+02

Hay dos de ellos en nuestro ejemplo: «%2d» y «%5.2f». La sintaxis general para un marcador de posición de formato es: 

 %[flags][width][.precision]type 

Echemos un vistazo a los marcadores de posición en nuestro ejemplo.  

  • El primer marcador de posición “%2d” se usa para el primer componente de nuestra tupla, es decir, el número entero 1. El número se imprimirá con 2 caracteres. Como 1 consiste solo en un dígito, la salida se rellena con 1 espacios en blanco iniciales.
  • El segundo “%5.2f” es una descripción de formato para un número flotante. Al igual que otros marcadores de posición, se introduce con el carácter %. A esto le sigue el número total de dígitos que debe contener la string. Este número incluye el punto decimal y todos los dígitos, es decir, antes y después del punto decimal.
  • Nuestro número flotante 05.333 debe formatearse con 5 caracteres. La parte decimal del número o la precisión se establece en 2, es decir, el número que sigue al “.” en nuestro marcador de posición. Finalmente, el último carácter «f» de nuestro marcador de posición significa «flotante».

Formato de salida usando el método de formato: 
El método format() se agregó en Python (2.6). El método de formato de strings requiere más esfuerzo manual. Los usuarios usan {} para marcar dónde se sustituirá una variable y pueden proporcionar directivas de formato detalladas, pero el usuario también debe proporcionar la información que se va a formatear. Este método nos permite concatenar elementos dentro de una salida a través del formato posicional. Por ejemplo – 

Código 1:  

Python3

# Python program showing
# use of format() method
 
# using format() method
print('I love {} for "{}!"'.format('Geeks', 'Geeks'))
 
# using format() method and referring
# a position of the object
print('{0} and {1}'.format('Geeks', 'Portal'))
 
print('{1} and {0}'.format('Geeks', 'Portal'))
 
 
# the above formatting can also be done by using f-Strings
# Although, this features work only with python 3.6 or above.
 
print(f"I love {'Geeks'} for \"{'Geeks'}!\"")
 
# using format() method and referring
# a position of the object
print(f"{'Geeks'} and {'Portal'}")

Producción : 

I love Geeks for "Geeks!"
Geeks and Portal
Portal and Geeks

Los corchetes y caracteres dentro de ellos (llamados campos de formato ) se reemplazan con los objetos pasados ​​al método format(). Se puede usar un número entre paréntesis para hacer referencia a la posición del objeto pasado al método format(). 
  
Código 2: 

Python3

# Python program showing
# a use of format() method
 
# combining positional and keyword arguments
print('Number one portal is {0}, {1}, and {other}.'
     .format('Geeks', 'For', other ='Geeks'))
 
# using format() method with number
print("Geeks :{0:2d}, Portal :{1:8.2f}".
      format(12, 00.546))
 
# Changing positional argument
print("Second argument: {1:3d}, first one: {0:7.2f}".
      format(47.42, 11))
 
print("Geeks: {a:5d},  Portal: {p:8.2f}".
     format(a = 453, p = 59.058))

Producción: 

Number one portal is Geeks, For, and Geeks.
Geeks :12, Portal :    0.55
Second argument:  11, first one:   47.42
Geeks:   453, Portal:    59.06

El siguiente diagrama con un uso de ejemplo muestra cómo funciona el método de formato para parámetros posicionales: 

  
Código 3: 

Python3

# Python program to
# show format() is
# used in dictionary
 
tab = {'geeks': 4127, 'for': 4098, 'geek': 8637678}
 
# using format() in dictionary
print('Geeks: {0[geeks]:d}; For: {0[for]:d}; '
    'Geeks: {0[geek]:d}'.format(tab))
 
data = dict(fun ="GeeksForGeeks", adj ="Portal")
 
# using format() in dictionary
print("I love {fun} computer {adj}".format(**data))

Producción: 

Geeks: 4127; For: 4098; Geeks: 8637678
I love GeeksForGeeks computer Portal

Dar formato a la salida mediante el método String: 
esta salida se formatea mediante operaciones de división y concatenación de strings. El tipo de string tiene algunos métodos que ayudan a formatear la salida de una manera más elegante. Algunos métodos que ayudan a formatear una salida son str.ljust() , str.rjust() y str.centre()

Python3

# Python program to
# format a output using
# string() method
 
cstr = "I love geeksforgeeks"
   
# Printing the center aligned 
# string with fillchr
print ("Center aligned string with fillchr: ")
print (cstr.center(40, '#'))
 
# Printing the left aligned 
# string with "-" padding 
print ("The left aligned string is : ")
print (cstr.ljust(40, '-'))
 
# Printing the right aligned string
# with "-" padding 
print ("The right aligned string is : ")
print (cstr.rjust(40, '-'))

Producción: 

Center aligned string with fillchr: 
##########I love geeksforgeeks##########

The left aligned string is : 
I love geeksforgeeks--------------------

The right aligned string is : 
--------------------I love 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 *