Interpolación de cadenas de Python

En este artículo aprenderemos sobre la interpolación de cadenas de Python. Python admite varias formas de formatear cadenas de texto y estas incluyen% -formatting, sys.format (), string.Template y f-strings.

La interpolación de cadenas es un proceso que sustituye valores de variables en marcadores de posición en una cadena. Por ejemplo, si tiene una plantilla para saludar a una persona como "¡Hola (nombre de la persona), gusto en conocerlo!", Le gustaría reemplazar el marcador de posición del nombre de la persona con un nombre real. Este proceso se llama interpolación de cadenas.

cuerdas f

Python 3.6 agregó un nuevo método de interpolación de cadenas llamado interpolación de cadenas literal e introdujo un nuevo prefijo literal f. Esta nueva forma de formatear cadenas es potente y fácil de usar. Proporciona acceso a expresiones Python incrustadas dentro de constantes de cadena.

Ejemplo 1:

 name = 'World' program = 'Python' print(f'Hello (name)! This is (program)')

Cuando ejecutamos el programa anterior, la salida será

Hola Mundo! Esto es Python

En el ejemplo anterior, el prefijo literal fle dice a Python que restaure el valor del nombre de la variable de dos cadenas y el programa entre llaves (). Entonces, cuando printobtengamos el resultado anterior.

Esta nueva interpolación de cadenas es poderosa ya que podemos incrustar expresiones arbitrarias de Python, incluso podemos hacer aritmética en línea con ella.

Ejemplo 2:

 a = 12 b = 3 print(f'12 multiply 3 is (a * b).')

Cuando ejecutamos el programa anterior, la salida será

 12 multiplicar 3 es 36.

En el programa anterior hicimos aritmética en línea que solo es posible con este método.

% -formateo

Las cadenas en Python tienen una operación incorporada única a la que se puede acceder con el %operador. Usando %podemos hacer una interpolación de cadenas simple muy fácilmente.

Ejemplo 3:

 print("%s %s" %('Hello','World',))

Cuando ejecutamos el programa anterior, la salida será

 Hola Mundo

En el ejemplo anterior, usamos dos %sespecificadores de formato de cadena y dos cadenas Helloy Worldentre paréntesis (). Tenemos Hello Worldcomo salida. %sEl especificador de formato de cadena le dice a Python dónde sustituir el valor.

La sintaxis del formato de cadena cambia ligeramente, si queremos hacer múltiples sustituciones en una sola cadena, y como el %operador solo toma un argumento, necesitamos envolver el lado derecho en una tupla como se muestra en el ejemplo a continuación.

Ejemplo 4:

 name = 'world' program ='python' print('Hello %s! This is %s.'%(name,program))

Cuando ejecutamos el programa anterior, la salida será

¡Hola Mundo! Esto es Python.

En el ejemplo anterior usamos dos cadenas de nombre de variable y programa. Envolvimos ambas variables entre paréntesis ().

También es posible hacer referencia a las sustituciones de variables por nombre en nuestra cadena de formato, si pasamos una asignación al %operador:

Ejemplo 5:

 name = 'world' program ='python' print(‘Hello %(name)s! This is %(program)s.’%(name,program))

Cuando ejecutamos el programa anterior, la salida será

¡Hola Mundo! Esto es Python.

Esto hace que nuestras cadenas de formato sean más fáciles de mantener y de modificar en el futuro. No tenemos que preocuparnos por el orden de los valores que estamos pasando con el orden de los valores a los que se hace referencia en la cadena de formato.

Str.format ()

En este formato de cadena usamos la format()función en un objeto de cadena y llaves (), el objeto de cadena en format()función se sustituye en lugar de llaves (). Podemos usar la format()función para realizar un formateo posicional simple, como %formatear.

Ejemplo 6:

 name = 'world' print('Hello, ()'.format(name))

Cuando ejecutamos el programa anterior, la salida será

 Hola Mundo

En este ejemplo usamos llaves ()y format()función para pasar el nombre del objeto. Obtuvimos el valor del nombre en lugar de llaves ()en la salida.

Podemos referirnos a nuestras sustituciones de variables por su nombre y usarlas en el orden que queramos. Esta es una característica bastante poderosa ya que permite reorganizar el orden de visualización sin cambiar los argumentos pasados ​​a la función de formato.

Ejemplo 7:

 name = 'world' program ='python' print('Hello (name)!This is(program).'.format(name=name,program=program))

Cuando ejecutamos el programa anterior, la salida será

 ¡Hola mundo! Esto es Python.

In this example we specified the variable substitutions place using the name of variable and pass the variable in format().

Template Strings

Template Strings is simpler and less powerful mechanism of string interpolation. We need to import Template class from Python’s built-in string module to use it.

Example 8:

 from string import Template name = 'world' program ='python' new = Template('Hello $name! This is $program.') print(new.substitute(name= name,program=program))

When we run the above program, the output will be

 Hello world! This is python.

In this example we import Template class from built-in string module and made a template which we used to pass two variable.

Key Points to Remember:

  1. %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
  2. In str.format() method we pass the string object to the format() function for string interpolation.
  3. En el método de plantilla, creamos una plantilla importando la clase de plantilla desde el módulo de cadena integrado.
  4. El método de interpolación de cadenas literal es un método de interpolación poderoso que es fácil de usar y aumenta la legibilidad del código.

Articulos interesantes...