El método format()
Duración de la lección: 8:38 min
[1]:
#
# Rellena los {} en forma secuencial
#
'Este es el argumento {} y este el "{}"'.format("-1-", "-2-")
[1]:
'Este es el argumento -1- y este el "-2-"'
[2]:
#
# Se puede indicar el orden de los argumentos
#
"{0} y {1}".format("-0-", "-1-")
[2]:
'-0- y -1-'
[3]:
#
# Se puede indicar el orden de los argumentos
#
"{1} y {0}".format("-0-", "-1-")
[3]:
'-1- y -0-'
[4]:
#
# Argumentos con nombre
#
"{arg0} y {arg1}.".format(arg1="-1-", arg0="-0-")
[4]:
'-0- y -1-.'
[5]:
"{}, {}, y {a}.".format("-0-", "-1-", a="-2-")
[5]:
'-0-, -1-, y -2-.'
Los tipos de caracteres para establecer el formato están disponibles en la documentación oficial. Véase https://docs.python.org/3/library/stdtypes.html#old-string-formatting
[6]:
#
# Impresión de una tabla con formato
#
for x in range(1, 11):
print("{0:2d} {1:3d} {2:4d}".format(x, x * x, x * x * x))
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000
[7]:
#
# String en formato raw
#
x = 1
"Este es el argumento {!r}.".format(x)
[7]:
'Este es el argumento 1.'
[8]:
#
# Formato de los valores
#
import math
"Valor de PI con tres decimales: {0:.3f}.".format(math.pi)
[8]:
'Valor de PI con tres decimales: 3.142.'
[9]:
"{} ---- {}".format("hola mundo", 1.23456789)
[9]:
'hola mundo ---- 1.23456789'
[10]:
#
# String de 15 caracteres, numero flotante de 2 decimales
#
"{0:15s} ---- {1:8.2f}".format("hola mundo", 1.23456789)
[10]:
'hola mundo ---- 1.23'
[11]:
#
# String de 15 caracteres alineado a la derecha
#
"{0:>15s} ---- {1:8.2f}".format("hola mundo", 1.23456789)
[11]:
' hola mundo ---- 1.23'
[12]:
#
# Impresión de un diccionario
#
dict_ = {"a": 100, "b": 101, "c": 102}
print("a: {0[a]:d}; " "b: {0[b]:d}; " "c: {0[c]:d}".format(dict_))
a: 100; b: 101; c: 102
[13]:
#
# Otra forma de imprimir un diccionario.
#
dict_ = {"a": 100, "b": 101, "c": 102}
print("a: {a:d}; b: {b:d}; c: {c:d}".format(**dict_))
a: 100; b: 101; c: 102