0% encontró este documento útil (0 votos)
24 vistas

Format en Python 3

Este documento explica cómo usar la función format en Python 3 para ordenar datos y crear tablas. Muestra ejemplos básicos de cómo usar los identificadores {} dentro de cadenas para insertar variables. Luego explica cómo crear y alinear tablas usando format, incluyendo el uso de números enteros y cadenas. Finalmente, muestra cómo unir listas dentro de tablas usando .join y .format para modificar y volver a imprimir los datos de manera ordenada.

Cargado por

edukado.ia
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas

Format en Python 3

Este documento explica cómo usar la función format en Python 3 para ordenar datos y crear tablas. Muestra ejemplos básicos de cómo usar los identificadores {} dentro de cadenas para insertar variables. Luego explica cómo crear y alinear tablas usando format, incluyendo el uso de números enteros y cadenas. Finalmente, muestra cómo unir listas dentro de tablas usando .join y .format para modificar y volver a imprimir los datos de manera ordenada.

Cargado por

edukado.ia
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

Format en Python 3: Explicación y creamos unas

tablas de ejemplo!
10 comentarios / Programación estructurada / Por Mariano
Indice del contenido

 Sintaxis de format en python 3


o Otras funcionalidades de los identificadores { }
 Creando y alineando tablas con formato
 Ordenando listas dentro de tablas usando .format y .join

En esta entrada vamos a ver la función format en python


3.- (exclusiva a partir de esta versión), la cual nos será muy útil para
ordenar los datos de salida de nuestras aplicaciones! Suponiendo que
quieres dar como salida de tu programa una tabla con los resultados
ordenados. ¡¡Pues con esta función se te pondrá muy fácil!!. Antes pido
disculpas porque he dejado de lado este blog un poquillo, verás a los
programadores en estas épocas nuestras madres/ abuelas nos envían a
desenredar las luces del arbolito! Diablos!!

¡¡Pero venga, les compensare con buen código!!

Comenzando por lo más básico veamos un ejemplo sencillo:

#!/usr/bin/env python

# -*- coding: utf-8 -*-


#
# format.py
#
Nombre = input(str("Ingresa tu nombre \n")) #Solicitamos datos de entrada
print ("Tu nombre es {0}".format(Nombre)) #Formateamos la salida

En este código de ejemplo solicitamos la entrada mediante input al


usuario y luego brindamos una salida utilizando format en python para
ordenar el contenido de la variable Nombre dentro de una cadena de
texto.
Sintaxis de format en python 3
A partir de la versión 3 de python recordamos que debemos utilizar
paréntesis en todas las funciones por lo que esta no será la
excepción. La función format se encuentra dentro de los paréntesis de
la función print seguida de un punto! Veamos otro ejemplo para explicar
mejor la sintaxis:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# format.py
#
Nombre = input(str("Ingresa tu nombre \n"))
Edad = int(input("Bien, ahora ingresa tu edad \n"))
NombreMascota = input(str("Ingresa el nombre de tu mascota \n"))
print ("Tu nombre es {0} y tienes {1} años. Tu mascota se llama {2}".format(Nombre,
Edad, NombreMascota))

Como puedes apreciar colocamos las llaves donde se mostrará el


contenido de la variable y dentro de ellas un número que
corresponde con el orden de la variable dentro de la función
format. En este caso la variable «nombre» obtiene el identificador {0}
La variable edad obtiene el identificador {1} Y, la de «NombreMascota»
obtiene el identificador {2} Estos números de identificación nos
permiten repetir el uso de la variable indicando cual de ellas. También
podemos colocar las llaves sin identificador, pero siempre se
corresponderá con el orden en el que presentemos las variables dentro
de .format() Un clásico ejemplo del uso y practicidad de los
identificadores:
#!/usr/bin/env python

# -*- coding: utf-8 -*-


#
# format.py
#
a = 'abra'
b = 'cad'
print('{0}{1}{0}'.format(a, b))
Resultado: ‘abracadabra’

¡¡¡¡No es magia, es format en python!!!!

‘a’ toma el valor de {0} y ‘b’ el valor de {1}, por lo que podemos
repetirlos.

Otras funcionalidades de los identificadores { }


Los identificadores también nos van a permitir ordenar la salida en la
función format en python. Por ejemplo para alinear a la derecha,
izquierda o centrado! en otras características. Veamos cómo hacerlo:

En este caso vamos a imprimir abracadabra utilizando una alineación:

#!/usr/bin/env python

# -*- coding: utf-8 -*-


#
# format.py
#
a = 'abra'
b = 'cad'
print('{0:<5}{1:^5}{0:>5}'.format(a, b))

Resultado: ‘abra cad abra’


De esta forma alineamos el primer ‘abra’ a la izquierda utilizando el
símbolo ‘<‘. El ‘cad’ en el centro utilizando el símbolo ‘^’ y a la derecha
el otro ‘abra’ utilizando el símbolo ‘>’ seguido de los dos puntos. El
número 5 indica la cantidad de caracteres o espacios en cada elemento
para su alineación. Es decir a mayor este número más espaciados se
alinearan.

Creando y alineando tablas con


formato
Estoy seguro que comprender esto te va a agradar! Vamos a crear una
tabla con determinada información usando format en python y la vamos
a imprimir usando el intérprete.
Tabla con números del ‘1 al 10’ mostrando el resultado de la elevación
al cuadrado y al cubo:

#!/usr/bin/env python

# -*- coding: utf-8 -*-


#
# format.py
#
for x in range(1,11):
print ('{3}{0:2d}{3} {3}{1:3d}{3} {3}{2:4d}{3}'.format(x, x * x, x * x * x, '|'))

Resultado:

Si te fijas el bucle for está creando un rango del 1 al 10 para ‘x’ y dentro
de los paréntesis de format hacemos el cálculo, primero presentamos la
‘x’ sola. Lo que nos genera la primer columna con los números del 1 al
10.

La segunda ‘x * x’ genera la segunda columna con los resultados de


estos números elevados al cuadrado y la tercera (xxx) nos genera la
columna del cubo.
‘{3}{0:2d}{3} {3}{1:3d}{3} {3}{2:4d}{3}‘.format(x, x * x, x *
x * x, ‘|’)
Analizando el código de esta manera (por colores) se nos va a hacer
más comprensible. El indicador {3} en azul corresponde al
carácter ‘|’ que forma las columnas.
Los numeros 0, 1, 2 en verde corresponden al orden de los elementos
dentro de format (‘x’ para 0), (‘xx’ para 1),(‘xx*x’ para 3).
Y finalmente luego de los dos puntos encontramos el 2d, 3d, 4d que
corresponden a la cantidad de caracteres para indicar la alineación de
los elementos según la cantidad de cifras de los números. La letra ‘d’
se utiliza para indicar que son datos enteros, en el caso de datos
de texto (string) se utiliza ‘s’

Ordenando listas dentro de tablas


usando .format y .join
Si tuviésemos varias listas con diferentes datos o diccionarios y
quisiéramos ordenarlos dentro de una tabla resultará muy fácil
utilizando la función .join y .format Join nos permite convertir listas /
tuplas en cadenas de texto y viceversa. Y esto nos brinda una ventaja:
Las listas son mutables, las cadenas no. Por lo que si convertimos
una cadena en lista podremos modificarla. Y luego volver a
convertirla en cadena.

¿Si ajam, y adonde voy con esto? A que podemos imprimir listas como
cadenas dentro de una tabla, uniendolas utilizando .join y dándoles un
formato con .format. ¡A la vez que podemos modificar las listas y
volverlas a imprimir! «eres un genio chico!!!, lastima que seas tan
pobre!»

Pillate ahora este ejemplo, tenemos una lista con los alumnos y sus
notas de todo el año. Queremos imprimir estos datos en una tabla para
que se nos vea mas presentable. Pues lo hacemos así, checa:

#!/usr/bin/env python

# -*- coding: utf-8 -*-


#
# format.py
#
ListasAlumnos = [['Juan', 'Carmelo', 5, 7, 9, 7], ['Laura', 'Jazmine', 7, 8, 5, 6.66],
['Dario', 'Villalobos', 5, 6, 3, 4.66], ['Marito', 'Tasolo', 4, 7, 9, 6.666],
['Esteban', 'Quito', 9, 9, 8, 8.66]]
Tabla = """\
+---------------------------------------------------------------------+
| Nombre Apellido Primero Segundo Tercero Promedio anual|
|---------------------------------------------------------------------|
{}
+---------------------------------------------------------------------+\
"""
Tabla = (Tabla.format('\n'.join("| {:<8} {:<10} {:>8} {:>6} {:>7} {:>23} |".format(*fila)
for fila in ListasAlumnos)))
print (Tabla)
Resultado:

Ahora vamos a aclarar este código como siempre. Primeramente hacer


hincapié en las listas que tenemos con las notas de los alumnos, las
mismas respetan el orden de los elementos, como ves comienzan por el
nombre y terminan con el promedio anual. Eso se debe respetar porque
no indicamos el orden dentro del format.

Tabla = (Tabla.format('\n'.join("| {:<8} {:<10} {:>8} {:>6} {:>7} {:>23} |".format(*fila)


for fila in ListasAlumnos)))
Como ves asignamos a la variable tabla el formato de la tabla,
correspondiente a una fila. Comienza con el salto de línea para que al
repetir el bucle for imprima una línea por iteración de lista. Luego le
damos el formato a los 6 elementos de cada listas ordenándolos en la
tabla para finalmente crear un bucle for que va iterando la Lista e
imprimiendo fila por fila dentro de la tabla que joineamos.
Esto es la tabla:

Tabla.format(formatodelafila(incluidoJOIN) .format(*fila) for fila in


listaAlumnos))

Analiza el código por parte, y lo veras tu mismo. Porque aquí join está
convirtiendo la lista en una cadena y uniendola al resto de la tabla
imprimiendo la fila dentro de ella, más precisamente donde se
encuentran las llaves.

¡A partir de aquí puedes darle una salida más «sublime» a tus


programas con format en python! y que así sea!

Por supuesto puedes jugar con este código y agregarle al usuario una
opción de editar la tabla o agregar un nuevo alumno simplemente a
través de un input respetando el orden de los datos. Luego solo vuelves

a imprimir la tabla. No lo hago aquí para no desviarme demasiado 😉

Esto ha sido todo, espero te haya gustado y por supuesto servido tanto
como a mi ! ¡Nos vemos en la siguiente entrada! No olvides suscribirte a
mi loco blog!! Bye bye

También podría gustarte