¿Qué es el formato de cadena de Python ()?
Python String format () es una función que se utiliza 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 de la clase de cadena de Python, que devuelve la cadena formateada como salida. Los marcadores de posición dentro de la cadena se definen entre corchetes.
Por ejemplo, "Bienvenido a Guru99 {}". Formato ('valor aquí').
En este tutorial, aprenderá:
- ¿Qué es el formato de cadena de Python ()?
- Sintaxis de la función format () en Python
- ¿Cómo funciona el formato de cadena ()?
- Ejemplo: marcador de posición vacío reemplazado por un valor de cadena
- Ejemplo: marcador de posición vacío reemplazado por un valor numérico
- Ejemplo: uso de argumentos de variable o palabra clave dentro del marcador de posición
- Ejemplo: uso de argumentos de índice o posicionales dentro del marcador de posición
- Formateo dentro de marcadores de posición
- Usando clase con formato ()
- Usando diccionario con formato ()
- Relleno de sustituciones variables
Sintaxis de la función format () en Python
templatestring.format(val1, val2… )
Parámetros
val1, val2…: los valores que deben reemplazarse 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 coma flotante, caracteres, etc.
Valor devuelto:
Devolverá la cadena final, con los valores válidos reemplazados en lugar de los marcadores de posición dados entre corchetes.
Marcadores de posición
Los marcadores de posición en la cadena de la plantilla se representan mediante corchetes, por ejemplo, {}. El marcador de posición puede estar vacío {} o puede tener una variable para, por ejemplo, {nombre}, o puede tener un índice numérico, por ejemplo, {0}, {1}, etc.
¿Cómo funciona el formato de cadena ()?
El método Python String format () escaneará las cadenas originales en busca de marcadores de posición. Los marcadores de posición pueden ser corchetes vacíos ({}), argumentos de posición, es decir, la cadena puede tener marcadores de posición con índice 0, 1 para, por ejemplo, {0}, {1}, etc.
Para los argumentos de palabras clave, el nombre de la variable estará presente entre corchetes para, por ejemplo, {nombre}, {edad}. En el caso de corchetes vacíos, los valores del formato se reemplazarán dentro de los corchetes en secuencia.
El primer valor se reemplazará con el primer corchete vacío, seguido del siguiente. Para argumentos posicionales, el índice comenzará desde 0 y así sucesivamente. Los valores estarán disponibles en formato separado por comas, y el 0 º valor señalarán el primer formato de valor en el interior 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 (). Aquí hay 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 siguiente ejemplo, la cadena tiene corchetes vacíos ({}). El valor dado al formato será reemplazado dentro de las llaves ({}).
El valor que queremos que se reemplace es una cadena.
Ejemplo:
Usando el formato de cadena en Python, queremos que las llaves ({}) sean reemplazadas por un valor de cadena. El valor se le da al formato ("Guru99"). En la ejecución, las llaves {} se reemplazan con Guru99, y obtendrá la cadena final como tutoriales de Bienvenida a Guru99.
print ("Welcome to {} tutorials".format("Guru99"))
Producción:
Welcome to Guru99 tutorials
Ejemplo: marcador de posición vacío reemplazado por un valor numérico
En el siguiente ejemplo, queremos que el valor numérico se reemplace dentro de la cadena original. Los corchetes ({}) se agregan al lugar donde necesita el valor numérico. Cuando se ejecuta, las llaves vacías ({}) se reemplazan con el valor numérico.
Ejemplo:
También puede hacer uso de format () para insertar números dentro de su 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"))
Producción:
Welcome to Guru99 Tutorials
Ejemplo: uso de argumentos de variable o palabra clave dentro del marcador de posición
También es posible hacer uso de variables dentro de las llaves, como se muestra en el siguiente ejemplo. Las variables se definen dentro de formato (). Por lo tanto, cuando se ejecuta, el valor asignado a la variable se reemplaza dentro de la cadena original.
Ejemplo:
Puede usar variables dentro de corchetes, por ejemplo, {nombre} {num}. Los valores para el nombre y la variable num están disponibles dentro del formato, es decir, formato (nombre = "Guru", num = "99"). Los valores dados a name y num serán reemplazados dentro de {name} y {num}.
print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))
Producción:
Welcome to Guru99 Tutorials
Ejemplo: uso de argumentos de índice o 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"))
Producción:
Welcome to Guru99 Tutorials
Ejemplo: usar varios marcadores de posición dentro de una cadena
En este ejemplo, vamos a utilizar 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 se referirá 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"))
Producción:
Guru99 is totally new kind of learning experience!
Formateo dentro de marcadores de posición
Has visto que es posible tener un marcador de posición vacío, con una variable o un índice. También es posible que pueda aplicar el formato de cadena de Python 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)) Producción:
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)) Producción:
The binary value is : 111110100 |
:mi | Dará la salida en formato científico cuando se use dentro del marcador de posición, el exponente e en la salida estará en minúsculas. | print("The scientific value is : {:e}".format(40)) Producción:
The scientific format value is : 4.000000e+01 |
:MI | Dará la salida en formato científico cuando se use dentro del marcador de posición, el exponente E en la salida estará en mayúsculas | print("The scientific value is : {:E}".format(40)) Producción:
The scientific value is : 4.000000E+01 |
:F | Esto generará un formato de número de punto fijo. De forma predeterminada, obtendrá la salida de cualquier número con seis lugares decimales. En caso de que necesite hasta 2 lugares decimales, utilícelo como. 2f es decir ... un punto (.) Delante de 2f | print("The value is : {:f}".format(40)) Producción:
The value is : 40.000000Ejemplo: mostrar resultados con hasta 2 decimales. print("The value is : {:.2f}".format(40)) Producción:
The value is: 40.00 |
: o | Esto generará formato octal | print("The value is : {:o}".format(500)) Producción:
The value is : 764 |
:X | Esto generará formato hexadecimal en minúsculas | print("The value is : {:x}".format(500)) Producción:
The value is : 1f4 |
:X | Esto generará formato hexadecimal en mayúsculas. | print("The value is : {:X}".format(500)) Producción:
The value is : 1F4 |
:norte | Esto generará formato de número. | print("The value is : {:n}".format(500.00)) Producción:
The value is : 500 |
:% | Esto dará la salida en un formato de porcentaje. De forma predeterminada, dará 6 lugares decimales para el porcentaje de salida, 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)) Producción:
The value is : 80.000000%Este ejemplo muestra cómo omitir los lugares decimales usando {: .0%} dentro del marcador de posición. print("The value is : {:.0%}".format(0.80)) Producción:
The value is: 80% |
: _ | Esto generará un subrayado como un separador de miles. Está disponible desde python 3.6+. | print("The value is {:_}".format(1000000)) Producción:
The value is : 1_000_000 |
:, | Esto generará una coma como un separador de miles | print("The value is : {:,}".format(1000000)) Producción:
The value is : 1,000,000Se agrega la coma (,), como un separador de miles, como se muestra en la salida. |
: | 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)) Producción:
The value is: 40 |
: - | Esto agregará un signo menos antes de los números negativos. | El ejemplo muestra cómo obtener la salida con un signo menos (-) antes del número usando {: -}. print("The value is: {:-}".format(-40)) Producción:
The value is: -40 |
: + | Puede usar el signo más para indicar que el número es positivo | El ejemplo muestra cómo obtener la salida con un signo más (+) antes del número usando {: +}. print("The value is: {:+}".format(40)) Producción:
The value is: +40 |
: = | El igual a se usa para colocar el signo +/- en el lado izquierdo. | El ejemplo muestra cómo obtener la salida con un signo más (+/-) antes de igual al signo usando {: =}. print("The value is {:=}".format(-40)) Producción:
The value is -40 |
: | Esto centrará la alineación del resultado final. | El ejemplo muestra el uso de {: ^} para alinear el texto en el centro. El número 10 se usa para agregar 10 espacios para mostrar el centro alineado cuando se reemplaza el valor. print("The value {:^10} is positive value".format(40)) Producción:
The value 40 is a positive valueAquí, puede usar 10 que agregarán 10 espacios en el texto final, y el valor que se 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)) Producción:
The value 40 is positive value |
: < | Esto dejará alinear 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)) Producción:
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 método .format de Python. Los marcadores de posición se referirán a las propiedades o miembros de la clase que utilizan 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()))
Producción:
Welcome to Guru99 Tutorials!
Usando diccionario con formato ()
También es posible utilizar el diccionario dentro del formato () como se muestra en el siguiente ejemplo:
my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))
Producción:
Welcome to Guru99 Tutorials!
Relleno de sustituciones variables
Usando el método string.format (), puede agregar relleno, espacio usando marcadores de posición dentro de su cadena.
Ejemplo:
En el siguiente ejemplo, se agregará espacio dentro del marcador de posición usando el formato (). Para agregar espacio, debe especificar el número de espacios entre corchetes después de los dos puntos (:). Por tanto, el marcador de posición se verá como {: 5}.
print("I have {:5} dogs and {:5} cat".format(2,1))
Producción:
I have 2 dogs and 1 cat
También puede dar 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))
Producción:
I have 2 dogs and 1 cat
Resumen
- La clase de cadena de Python nos da un comando incorporado importante llamado formato () 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 {}". Formato ('valor aquí').
- El marcador de posición puede estar vacío {} o puede tener una variable para, por ejemplo, {nombre}, o puede tener un índice numérico, por ejemplo, {0}, {1}, etc.
- Puede utilizar el formato de cadena en Python dentro de los marcadores de posición que pueden ayudar a agregar relleno, alineación central y también ayudar con el formato de números.