Python Formato de cadena() Explicar con EJEMPLOS
ยฟQuรฉ es Python ยฟFormato de cadena()?
Python Formato de cadena() es una funciรณn utilizada para reemplazar, sustituir o convertir la cadena con marcadores de posiciรณn con valores vรกlidos en la cadena final. Es una funciรณn incorporada del Python Clase de cadena que devuelve la cadena formateada como salida. Los marcadores de posiciรณn dentro de la cadena se definen entre llaves.
Por ejemplo, โBienvenido a Guru99 {}โ.format('valor aquรญ').
Sintaxis de la funciรณn format() en Python
templatestring.format(val1, val2...)
Parรกmetros
val1, val2โฆ: Los valores que se deben reemplazar en la cadena de plantilla dada que tiene marcadores de posiciรณn en forma de llaves {}. Los marcadores de posiciรณn pueden ser una cadena, un par clave/valor, nรบmeros enteros, nรบmeros de punto flotante, caracteres, etc.
Valor de retorno
Devolverรก la cadena final, con valores vรกlidos reemplazados en lugar de los marcadores de posiciรณn dados entre llaves.
Marcadores de posiciรณn
Los marcadores de posiciรณn en la cadena de plantilla se representan mediante llaves, p. ej. {}. El marcador de posiciรณn puede estar vacรญo {}, o puede tener una variable, p. ej. {name}, o puede tener un รญndice numรฉrico, p. ej. {0}, {1}, etc.
ยฟCรณmo funciona el formato de cadena()?
La Python Formato de cadena() El mรฉtodo escanearรก las cadenas originales en busca de marcadores de posiciรณn. Los marcadores de posiciรณn pueden ser llaves vacรญas ({}), argumentos posicionales, es decir, la cadena puede tener marcadores de posiciรณn con รญndice 0, 1, por ejemplo, {0}, {1}, etc.
En el caso de los argumentos de palabras clave, el nombre de la variable estarรก presente dentro de las llaves, por ejemplo, {nombre}, {edad}. En el caso de llaves vacรญas, los valores del formato se reemplazarรกn dentro de las llaves en secuencia.
El primer valor serรก reemplazado por la primera llave vacรญa, seguida por la siguiente. Para argumentos posicionales, el รญndice comenzarรก desde 0 y asรญ sucesivamente. Los valores estarรกn disponibles en formato separados por comas, y el 0th value apuntarรก al primer valor dentro del formato y asรญ sucesivamente.
Para los argumentos de palabras clave, es decir, cuando usa una variable dentro de sus marcadores de posiciรณn, puede tener el orden de los valores dentro del formato que necesite.
El orden no importa aquรญ ya que los valores se reemplazarรกn segรบn el nombre de la variable presente en el formato(). A continuaciรณn se muestran algunos ejemplos de cรณmo usar marcadores de posiciรณn dentro de una cadena como vacรญos, posicionales y usando palabras clave o variables.
Ejemplo: marcador de posiciรณn vacรญo reemplazado por un valor de cadena
En el ejemplo siguiente, la cadena tiene llaves vacรญas ({}). El valor dado al formato se reemplazarรก dentro de las llaves ({}).
El valor que queremos reemplazar es una cadena.
Ejemplo:
Usar formato de cadena en Python, queremos que las llaves ({}) se reemplacen con un valor de cadena. El valor se le da a format(โGuru99โ). Al ejecutarse, las llaves {} se reemplazan por Guru99, y obtendrรกs la cadena final como Bienvenido a Guru99 tutoriales.
print ("Welcome to {} tutorials".format("Guru99"))
Salida:
Welcome to Guru99 tutorials
Ejemplo: marcador de posiciรณn vacรญo reemplazado por un valor numรฉrico
En el ejemplo siguiente, queremos que el valor numรฉrico se reemplace dentro de la cadena original. Las llaves ({}) se agregan en el lugar donde se necesita el valor numรฉrico. Cuando se ejecuta, las llaves vacรญas ({}) se reemplazan con el valor numรฉrico.
Ejemplo:
Tambiรฉn puedes utilizar format() para insertar nรบmeros dentro de tu cadena. El ejemplo mostrarรก cรณmo reemplazar el marcador de posiciรณn vacรญo {} con el nรบmero 99 presente dentro del formato().
print ("Welcome to Guru{} Tutorials".format("99"))
Salida:
Welcome to Guru99 Tutorials
Ejemplo: uso de argumentos variables o de palabras clave dentro del marcador de posiciรณn
Tambiรฉn es posible hacer uso de variables dentro de las llaves, como se muestra en el ejemplo siguiente. Las variables se definen dentro de format(). Por lo tanto, cuando se ejecuta, el valor asignado a la variable se reemplaza dentro de la cadena original.
Ejemplo:
Puedes usar variables dentro de llaves, por ejemplo {name} {num}. Los valores para las variables name y num estรกn disponibles dentro de format, es decir format(name=โGuruโ, num=โ99โณ). Los valores dados a name y num se reemplazarรกn dentro de {name} y {num}.
print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))
Salida:
Welcome to Guru99 Tutorials
Ejemplo: uso de รญndices o argumentos posicionales dentro del marcador de posiciรณn
Los valores se pueden reemplazar usando รญndices como 0, 1, 2 dentro de los marcadores de posiciรณn. El valor se seleccionarรก en orden a partir del formato(), como se muestra en el siguiente ejemplo.
Ejemplo:
print ("Welcome to {0}{1} Tutorials".format("Guru","99"))
Salida:
Welcome to Guru99 Tutorials
Ejemplo: usar varios marcadores de posiciรณn dentro de una cadena
En este ejemplo, utilizaremos varios marcadores de posiciรณn vacรญos.
Ejemplo:
La cadena utilizada en el ejemplo tiene varios marcadores de posiciรณn vacรญos y cada marcador de posiciรณn harรก referencia a un valor dentro de format(). El primer valor se reemplazarรก por el primer marcador de posiciรณn y asรญ sucesivamente.
print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))
Salida:
Guru99 is totally new kind of learning experience!
Formato dentro de marcadores de posiciรณn
Has visto que es posible tener Placeholder vacรญo, con una variable o un รญndice. Tambiรฉn es posible que puedas aplicar Python Formato de cadena dentro del marcador de posiciรณn.
Aquรญ estรก la lista de formatos.
| Formato | Descripciรณn | Ejemplo |
|---|---|---|
:d |
Darรก la salida en formato decimal cuando se use dentro del marcador de posiciรณn. | print("The binary to decimal value is : {:d}".format(0b0011))
Salida: The binary to decimal value is : 3 |
:b |
Darรก la salida en formato binario cuando se use dentro del marcador de posiciรณn. | print("The binary value is : {:b}".format(500))
Salida: The binary value is : 111110100 |
:e |
Darรก el resultado en formato cientรญfico cuando se use dentro del marcador de posiciรณn, el exponente e en el resultado estarรก en minรบscula. | print("The scientific value is : {:e}".format(40))
Salida: The scientific format value is : 4.000000e+01 |
:E |
Darรก el resultado en formato cientรญfico cuando se use dentro del marcador de posiciรณn, el exponente E en el resultado estarรก en mayรบsculas. | print("The scientific value is : {:E}".format(40))
Salida: The scientific value is : 4.000000E+01 |
:f |
Esto generarรก un formato de nรบmero de punto fijo. De forma predeterminada, obtendrรก el resultado de cualquier nรบmero con seis decimales. En caso de que necesites hasta 2 decimales, รบsalo como. 2f es decir, un punto (.) delante de 2f | print("The value is : {:f}".format(40))
Salida: The value is : 40.000000 Ejemplo: Mostrar salida hasta 2 decimales.
Salida: The value is: 40.00 |
:o |
Esto generarรก formato octal. | print("The value is : {:o}".format(500))
Salida: The value is : 764 |
:x |
Esto generarรก formato hexadecimal en minรบsculas. | print("The value is : {:x}".format(500))
Salida: The value is : 1f4 |
:X |
Esto generarรก formato hexadecimal en mayรบsculas. | print("The value is : {:X}".format(500))
Salida: The value is : 1F4 |
:n |
Esto generarรก el formato del nรบmero. | print("The value is : {:n}".format(500.00))
Salida: The value is : 500 |
:% |
Esto darรก el resultado en formato porcentual. De forma predeterminada, proporcionarรก 6 decimales para la salida porcentual; en caso de que no desee ningรบn valor decimal, puede usar un punto con 0, es decir (:.0%). |
print("The value is : {:%}".format(0.80))
Salida: The value is : 80.000000% Este ejemplo muestra cรณmo omitir los decimales usando {:.0%} dentro del marcador de posiciรณn.
The value is: 80% |
:_ |
Esto generarรก un guiรณn bajo como separador de mil. Estรก disponible desde Python 3.6+. | print("The value is {:_}".format(1000000))
Salida: The value is : 1_000_000 |
:, |
Esto generarรก una coma como separador de miles. | print("The value is : {:,}".format(1000000))
Salida: The value is : 1,000,000 Se agrega la coma (,) como separador de miles, como se muestra en el resultado. |
: |
Esto agregarรก un espacio antes de cualquier nรบmero positivo. | Este ejemplo muestra cรณmo agregar espacio o relleno antes del nรบmero dado. El nรบmero 5 indica el recuento de espacios que desea antes del nรบmero.
Salida: The value is: 40 |
:- |
Esto agregarรก un signo menos antes de los nรบmeros negativos. | El ejemplo muestra cรณmo obtener el resultado con un signo menos (-) antes del nรบmero usando {:-}.
Salida: The value is: -40 |
:+ |
Puede utilizar el signo mรกs para indicar que el nรบmero es positivo. | El ejemplo muestra cรณmo obtener el resultado con un signo mรกs (+) antes del nรบmero usando {:+}.
Salida: The value is: +40 |
:= |
El igual a se utiliza para colocar el signo +/- en el lado izquierdo. | El ejemplo muestra cรณmo obtener la salida con un signo mรกs (+/-) antes del signo igual usando {:=}.
Salida: The value is -40 |
:^ |
Esto centrarรก el resultado final. | El ejemplo muestra cรณmo usar {:^} para centrar el texto. El nรบmero 10 se usa para agregar 10 espacios para mostrar la alineaciรณn central cuando se reemplaza el valor.
Salida: The value 40 is a positive value Aquรญ, puede usar 10 que agregarรก 10 espacios en el texto final, y el valor a reemplazar estarรก alineado al centro entre los 10 espacios. Los espacios de 10 se agregan solo para mostrar la alineaciรณn central del valor reemplazado. |
:> |
Esto alinearรก a la derecha el resultado final. | El espacio de 10 se agrega usando (:>10) y el valor reemplazado se alinea a la derecha.
Salida: The value 40 is positive value |
:< |
Esto alinearรก a la izquierda el resultado final. | El espacio de 10 se agrega usando (:<10) y el valor reemplazado se alinea a la izquierda.
Salida: The value 40 is positive value |
Usando clase con formato()
En este ejemplo, estamos creando una clase y usamos el objeto de la clase dentro del formato . Python mรฉtodo. Los marcadores de posiciรณn se referirรกn a propiedades de clase o miembros que utilicen el objeto de clase.
Ejemplo:
La clase se llama dentro del formato (c=MyClass()). El objeto c tendrรก la referencia a las propiedades y mรฉtodos dentro de la clase MyClass().
class MyClass:
msg1="Guru"
msg2="Tutorials"
print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))
Salida:
Welcome to Guru99 Tutorials!
Usando diccionario con formato()
Tambiรฉn es posible utilizar el diccionario dentro de format() como se muestra en el siguiente ejemplo:
my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}
print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))
Salida:
Welcome to Guru99 Tutorials!
Sustituciones de variables de relleno
Usando el mรฉtodo string.format(), puede agregar relleno y espacio usando marcadores de posiciรณn dentro de su cadena.
Ejemplo:
En el siguiente ejemplo, se agregarรก espacio dentro del marcador de posiciรณn mediante el formato(). Para agregar espacio, debe especificar la cantidad de espacios dentro de las llaves despuรฉs de los dos puntos (:). Por lo tanto, el marcador de posiciรณn se verรก como {:5}.
print("I have {:5} dogs and {:5} cat".format(2,1))
Salida:
I have 2 dogs and 1 cat
Tambiรฉn puede proporcionar el รญndice dentro del marcador de posiciรณn, por ejemplo: {0:5} donde 0 se referirรก al primer valor dentro del formato.
print("I have {0:5} dogs and {1:5} cat".format(2,1))
Salida:
I have 2 dogs and 1 cat
Resumen
- Python La clase string nos brinda un comando integrado importante llamado format() que nos ayuda a reemplazar, sustituir o convertir la cadena con marcadores de posiciรณn con valores vรกlidos en la cadena final.
- Los marcadores de posiciรณn dentro del mรณdulo de cadena. Python se definen entre llaves, por ejemplo, โBienvenido a Guru99 {}โ.format('valor aquรญ').
- El marcador de posiciรณn puede estar vacรญo {}, o puede tener una variable, por ejemplo, {nombre}, o puede tener un รญndice numรฉrico, por ejemplo, {0}, {1}, etc.
- Puede utilizar el formato de cadena en Python marcadores de posiciรณn internos que pueden ayudar a agregar relleno, alinear al centro y tambiรฉn ayudar con el formato de nรบmeros.
