Python Formato de cadena() Explicar con EJEMPLOS

¿Qué es el 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 proporciona a format(“Guru99”). Al ejecutarse, las llaves {} se reemplazan con Guru99 y obtendrá la cadena final como Bienvenido a los tutoriales de Guru99.

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:

Puede utilizar variables dentro de llaves, por ejemplo, {name} {num}. Los valores de las variables name y num están disponibles dentro del formato, 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.

print("The value is : {:.2f}".format(40))

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.

print("The value is : {:.0%}".format(0.80))
Salida:

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.

print("The value is: {:5}".format(40))

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 {:-}.

print("The value is: {:-}".format(-40))

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 {:+}.

print("The value is: {:+}".format(40))

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 {:=}.

print("The value is {:=}".format(-40))

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.

print("The value {:^10} is positive value".format(40))

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.

print("The value {:>10} is positive value".format(40))

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.

print("The value {:<10} is positive value".format(40))

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

Resum

  • 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.