logo

Formato de cadenas de Python: ¿cómo formatear cadenas?

El formato de cadena le permite crear cadenas dinámicas combinando variables y valores. En este artículo, analizaremos alrededor de 5 formas de formatear una cadena.

Aprenderá diferentes métodos de formato de cadenas con ejemplos para una mejor comprensión. ¡Veámoslos ahora!

Cómo formatear cadenas en Python

Hay cinco formas diferentes de realizar el formateo de cadenas en Pitón



  • Formateo con operador %.
  • Formatear con el método de cadena format().
  • Formateo con cadenas literales, llamadas f-strings.
  • Formato con clase de plantilla de cadena
  • Formateo con el método de cadena center().

Entonces veremos todas las formas mencionadas anteriormente y también nos centraremos en qué estrategia de formato de cadena es la mejor.

1. Cómo formatear una cadena usando el operador %

Es el método más antiguo de formato de cadenas. Aquí usamos el módulo. % operador . El módulo % También se conoce como operador de formato de cadena.

Cadena de formato Python usando el operador %

En la expresión El perro callejero sarnoso y flacucho %s se tragó a % “apresuradamente”, el marcador de posición %s dentro de la cadena se reemplaza por el valor “apresuradamente”.

Python3

regexp_like en mysql




print>(>'The mangy, scrawny stray dog %s gobbled down'> %>'hurriedly'> +> >'the grain-free, organic dog food.'>)>

>

>

Producción

The mangy, scrawny stray dog hurriedly gobbled downthe grain-free, organic dog food.>

Inyectar múltiples cadenas usando el operador de módulo

Aquí estamos insertando varias cadenas con el operador %.

Python3




x>=> 'looked'> print>(>'Misha %s and %s around'>%>(>'walked'>,x))>

>

>

Producción

Misha walked and looked around>

Manejo de precisión en Python usando el operador %

Los números de coma flotante usan el formato %a.bf . Aquí, a sería el número mínimo de dígitos que estarán presentes en la cadena; estos pueden rellenarse con espacios en blanco si el número entero no tiene tantos dígitos.

Cerca de esto, novio representa cuántos dígitos se mostrarán después del punto decimal.

En este código, la cadena 'El valor de pi es: %5.4f' contiene un especificador de formato %5.4f. El especificador de formato %5.4f se utiliza para formatear un número de punto flotante con un ancho mínimo de 5 y una precisión de 4 decimales.

Python3




print>(>'The value of pi is: %5.4f'> %>(>3.141592>))>

>

>

Producción

The value of pi is: 3.1416>

Múltiples tipos de conversión de formato

En el código dado, la cadena de formato Python se convierte a entero y punto flotante con %d,%f.

Python3




cadena como matriz

variable>=> 12> string>=> 'Variable as integer>=> %>d > Variable as>float> => %>f'>%>(variable, variable)> print> (string)>

>

>

Producción

Variable as integer = 12 Variable as float = 12.000000>

Nota: Para saber más sobre el formato de porcentaje, consulte Formato de cadenas en Python usando%

2. Cómo formatear una cadena usando el método format()

Método de formato() se introdujo con Python3 para manejar el formato de cadenas complejas de manera más eficiente.

Los formateadores funcionan colocando uno o más campos de reemplazo y marcadores de posición definidos por un par de llaves { } en una cadena y llamando al str.formato() . El valor que deseamos poner en los marcadores de posición y concatenar con la cadena pasada como parámetros a la función de formato.

Sintaxis: 'Cadena aquí {} y luego también {}'.format('algo1','algo2')

Formatear String Python usando el método format()

Este código usa {} como marcador de posición y luego hemos llamado al método.format() en el 'igual' al marcador de posición.

Python3




print>(>'We all are {}.'>.>format>(>'equal'>))>

>

>

Producción

We all are equal.>

Inserción basada en índices

En este código, se utilizan llaves {} con índices dentro de la cadena '{2} {1} {0}' para indicar las posiciones donde se colocarán los valores correspondientes.

Python3




print>(>'{2} {1} {0}'>.>format>(>'directions'>,> >'the'>,>'Read'>))>

>

>

Producción

Read the directions>

Insertar objeto asignando palabras clave

En este código, las llaves {} con marcadores de posición con nombre ({a}, {b}, {c}) se utilizan dentro de la cadena 'a: {a}, b: {b}, c: {c}' para indicar las posiciones donde se colocarán los argumentos nombrados correspondientes.

Python3




print>(>'a: {a}, b: {b}, c: {c}'>.>format>(a>=> 1>,> >b>=> 'Two'>,> >c>=> 12.3>))>

>

>

Producción

a: 1, b: Two, c: 12.3>

Reutilizar los objetos insertados

En este código, las llaves {} con marcadores de posición con nombre ({p}) se utilizan dentro de la cadena 'La primera {p} estuvo bien, pero la {p} {p} fue difícil de indicar las posiciones donde se encontraba el nombre correspondiente.' Se colocará el argumento p.

Python3




print>(> >'The first {p} was alright, but the {p} {p} was tough.'>.>format>(p>=>'second'>))>

>

>

Producción

The first second was alright, but the second second was tough.>

Precisión flotante con el método.format()

Sintaxis: {[índice]:[ancho][.precisión][tipo]}

El tipo se puede utilizar con códigos de formato:

  • 'd' para números enteros
  • 'F' para números de punto flotante
  • 'b' para números binarios
  • 'Oh' para números octales
  • 'X' para números octales hexadecimales
  • 's' para cuerda
  • 'Es' para punto flotante en formato exponente

Ejemplo:

Ambos códigos están formateando cadenas. La primera cadena tiene el formato '%' y la segunda cadena tiene el formato .format().

Python3




print>(>'The valueof pi is: %1.5f'> %>3.141592>)> print>(>'The valueof pi is: {0:1.5f}'>.>format>(>3.141592>))>

listar java a matriz
>

>

Producción

The valueof pi is: 3.14159 The valueof pi is: 3.14159>

Nota: Para saber más sobre str.format(), consulte función formato() en Python

3. Comprender la cadena f de Python

PEP 498 introdujo un nuevo mecanismo de formato de cadenas conocido como interpolación de cadenas literales o más comúnmente como cuerdas fa (debido al carácter f inicial que precede al literal de cadena). La idea detrás de f-String en Python es simplificar la interpolación de cadenas.

Para crear una cadena f en Python, anteponga la cadena con la letra f. La cadena en sí se puede formatear de la misma manera que lo haría con calle. formato() . Las cadenas F proporcionan una manera concisa y conveniente de incrustar expresiones de Python dentro de cadenas literales para formatear.

Formato de cadenas con F-Strings

En este código, la cadena f fMi nombre es {nombre}. se utiliza para interpolar el valor de la variable de nombre en la cadena.

Python3




name>=> 'Ele'> print>(f>'My name is {name}.'>)>

>

>

tipos de datos de secuela
Producción

My name is Ele.>

Esta nueva sintaxis de formato es muy potente y sencilla. También puedes insertar expresiones arbitrarias de Python e incluso puedes realizar operaciones aritméticas en ellas.

Operaciones aritméticas usando cuerdas F

En este código, la cadena f f Dijo que su edad es {2 * (a + b)}. se utiliza para interpolar el resultado de la expresión 2 * (a + b) en la cadena.

Python3




a>=> 5> b>=> 10> print>(f>'He said his age is {2 * (a + b)}.'>)>

>

>

Producción

He said his age is 30.>

También podemos usar lambda expresiones en cuerda f formateo.

Expresiones Lambda usando cadenas F

En este código, una función lambda anónima se define usando lambda x: x*2. Esta función lambda toma un argumento x y devuelve su doble.

Python3




print>(f>'He said his age is {(lambda x: x*2)(3)}'>)>

>

>

Producción

He said his age is 6>

Precisión de flotación en el método f-String

En este código, el formato de cadena f se utiliza para interpolar el valor de la variable num en la cadena.

  Syntax  : {value:{width}.{precision}}>

Python3




num>=> 3.14159> print>(f>'The valueof pi is: {num:{1}.{5}}'>)>

cadena como matriz

>

>

Producción

The valueof pi is: 3.1416>

Nota: Para saber más sobre las cuerdas f, consulte cadenas f en Python

4. Clase de plantilla de cadena de Python

En el módulo String, la clase Template nos permite crear una sintaxis simplificada para la especificación de salida. El formato utiliza nombres de marcadores de posición formados por $ con Python válido. identificadores (caracteres alfanuméricos y guiones bajos). Rodear el marcador de posición entre llaves permite que le sigan más letras alfanuméricas sin espacios intermedios. Escribir $$ crea un único $ escapado:

Formato de cadena Python usando la clase de plantilla

Este código importa la clase Plantilla del módulo de cadena. La clase Plantilla nos permite crear una cadena de plantilla con marcadores de posición que pueden sustituirse por valores reales. Aquí estamos sustituyendo los valores n1 y n2 en lugar de n3 y n4 en la cadena n.

Python3




from> string>import> Template> n1>=> 'Hello'> n2>=> 'techcodeview.com'> n>=> Template(>'$n3 ! This is $n4.'>)> # and pass the parameters into the> # template string.> print>(n.substitute(n3>=>n1, n4>=>n2))>

>

>

Producción

Hello ! This is techcodeview.com.>

Nota: Para saber más sobre la clase Plantilla de cadena, consulte Clase de plantilla de cadena en Python

5. Cómo formatear una cadena usando el método center()

El método center() es un método integrado en la clase str de Python que devuelve una nueva cadena centrada dentro de una cadena de un ancho específico.

Formatear cadena usando el método center()

Este código devuelve un nuevo cadena acolchado con espacios en los lados izquierdo y derecho.

Python3




string>=> 'GeeksForGeeks!'> width>=> 30> centered_string>=> string.center(width)> print>(centered_string)>

>

>

Producción

 GeeksForGeeks!>

Cadena de formato Python: % frente a .format frente a literal f-string

cuerdas f son más rápidos y mejores que ambos %-formato y str.formato() . Las expresiones de f-strings se evalúan en tiempo de ejecución y también podemos incrustar expresiones dentro de f-string, utilizando una sintaxis muy simple y sencilla.

Las expresiones dentro de las llaves se evalúan en tiempo de ejecución y luego se juntan con la parte de cadena de la cadena f y luego se devuelve la cadena final.

Nota: Use Template String si la cadena es una cadena proporcionada por el usuario. De lo contrario, use f-Strings si está en Python 3.6+ y. método format() si no es así.

Hemos cubierto las 5 formas de formatear cadenas en Python. Hay muchos casos de uso y ejemplos para cada método. También comparamos estos métodos para encontrar cuál es más eficiente para usar en proyectos de la vida real.

Lecturas similares:

  • Formato de cadenas en Python
  • Cómo usar formateadores de cadenas en Python
  • Cómo formatear una cadena usando un diccionario en Python