Interpolación de cadenas en Python

Vaibhav Vaibhav 10 octubre 2023
  1. Interpolación de cadenas usando el módulo (%) en Python
  2. Interpolación de cadenas usando el método format() en Python
  3. Interpolación de cadenas usando las cadenas formateadas en Python
  4. Interpolación de cadenas usando la clase de plantilla en Python
Interpolación de cadenas en Python

La interpolación de cadenas se refiere a la técnica de insertar valores de variables en lugar de marcadores de posición en una cadena. Usando la interpolación de cadenas, uno puede insertar dinámicamente valores dentro de una cadena.

En Python, hay cuatro formas en las que podemos realizar la interpolación de cadenas, a saber, módulo (%), método format(), cadenas formateadas y clase de plantilla. En este artículo, aprenderemos en detalle sobre estos métodos.

Interpolación de cadenas usando el módulo (%) en Python

Podemos usar el módulo (%) para formatear cadenas en Python. Este enfoque es similar al printf() en el lenguaje de programación C.

Los siguientes son los marcadores de posición que podemos usar dentro de las cadenas para formatear.

%d = Integer
%f = Float
%s = String
%x = Hexadecimal
%o = Octal

Tenga en cuenta que es necesario colocar un carácter de módulo antes de los caracteres dentro de las cadenas para que se consideren marcadores de posición. A continuación se muestra la sintaxis para usar el módulo (%).

"<string with placeholders>" % ( < comma separated values or variables > )

Ahora, hemos terminado con una breve introducción; comprendamos cómo usar este concepto de manera práctica con la ayuda de algunos ejemplos. Consulte el siguiente código de Python para esto.

a = 2000
b = "Hi"
c = "Python"
d = True
e = 3.14
print("%d + 1000 = 3000" % (a))
print("%s is a web framework written in %s" % ("Django", c))
print("[%d, %s, %s, %s, %f]" % (a, b, c, d, e))
print("%s! My favourite programming language is %s" % (b, c))
print("The value of PI or π: %f" % (e))

Producción :

2000 + 1000 = 3000
Django is a web framework written in Python
[2000, Hi, Python, True, 3.140000]
Hi! My favourite programming language is Python
The value of PI or π: 3.140000

Tenga en cuenta cómo se usan los marcadores de posición dentro de las cadenas para formatear y qué marcador de posición se usa para qué tipo de valor.

Interpolación de cadenas usando el método format() en Python

El método format() se puede utilizar para formatear cadenas en Python. Este método es similar al anterior pero aquí, {} actúa como marcador de posición para cada tipo de valor.

A continuación se muestra la sintaxis del método format().

"<string with placeholdes>".format( < comma separated values and variables > )

Consulte el siguiente código de Python para comprender mejor este concepto con la ayuda de algunos ejemplos relevantes.

a = 2000
b = "Hi"
c = "Python"
d = True
e = 3.14
print("{} + 1000 = 3000".format(a))
print("{} is a web framework written in {}".format("Django", c))
print("[{}, {}, {}, {}, {}]".format(a, b, c, d, e))
print("{}! My favourite programming language is {}".format(b, c))
print("The value of PI or π: {}".format(e))

Producción :

2000 + 1000 = 3000
Django is a web framework written in Python
[2000, Hi, Python, True, 3.14]
Hi! My favourite programming language is Python
The value of PI or π: 3.14

Interpolación de cadenas usando las cadenas formateadas en Python

Las cadenas formateadas son cadenas únicas en Python. Cuando se prefija con un carácter f, las cadenas regulares son cadenas formateadas.

Las cadenas formateadas también se conocen como cadenas f. Estas cadenas se utilizan para insertar dinámicamente representaciones de cadenas de variables y objetos dentro de cadenas.

Podemos agregar {} dentro de cadenas, y dentro de estos bloques, podemos agregar variables o lógica que devuelva algún valor.

A continuación se muestra la sintaxis de las cadenas formateadas.

f"{<variable>} {<variable>} {<variable>}"

Entendamos este concepto usando algunos ejemplos relevantes. Consulte el siguiente código de Python para lo mismo.

def hello():
    return "Hello"


a = 2000
b = "Hi"
c = "Python"
d = True
e = 3.14
print(f"{a} + 1000 = 3000")
print(f"Django is a web framework written in {c}")
print(f"[{a}, {b}, {c}, {d}, {e}]")
print(f"{hello()}! My favourite programming language is {c}")
print(f"The value of PI or π: {e}")
print(f"1000 + 2000 = {1000 + 2000}")
print(f"10 * 20 - 25 = {10 * 20 - 25}")

Producción :

2000 + 1000 = 3000
Django is a web framework written in Python
[2000, Hi, Python, True, 3.14]
Hello! My favourite programming language is Python
The value of PI or π: 3.14
1000 + 2000 = 3000
10 * 20 - 25 = 175

Interpolación de cadenas usando la clase de plantilla en Python

Python tiene un módulo incorporado, string, una clase Template que nos permite crear cadenas dinámicas. Con este método, podemos realizar sustituciones basadas en $.

Por ejemplo, para la cadena Hola $nombre, name es una variable y podemos proporcionar un valor para esta variable. Podemos usar el substitute() de la clase Template para sustituir valores.

Este método acepta un diccionario, donde las variables de la cadena de plantilla son claves y apuntan a valores. En lugar de usar un diccionario, también podemos proporcionar argumentos de palabras clave.

Tenga en cuenta que el intérprete de Python arrojará un KeyError si no se encuentra la clave. Para evitar eso, uno puede asegurarse de que las claves requeridas existan en el diccionario o usar el método safe_substitute() para dejar la cadena sin cambios para ese marcador de posición.

Ahora que hemos terminado con algo de teoría, comprendamos este concepto con la ayuda de algunos ejemplos relevantes. Consulte el siguiente código de Python para lo mismo.

from string import Template


def pi():
    return 3.14


t1 = Template("$a + 1000 = 3000")
t2 = Template("$package is a web framework written in $language")
t3 = Template("$greeting! My favourite programming language is $language")
t4 = Template("[$a, $b, $c, $d, $e]")
t5 = Template("The value of PI or π: $pi")
print(t1.substitute({"a": 2000}))
print(t2.substitute({"package": "Flask", "language": "Python"}))
print(t3.substitute({"greeting": "Hey", "language": "Python"}))
print(t4.substitute(a=2000, b="Hi", c="Python", d=True, e=999.909))
print(t5.substitute(pi=pi()))

Producción :

2000 + 1000 = 3000
Flask is a web framework written in Python
Hey! My favourite programming language is Python
[2000, Hi, Python, True, 999.909]
The value of PI or π: 3.14

Consulte el siguiente código de Python para usar el método safe_substitute().

from string import Template


def pi():
    return 3.14


t1 = Template("$a + 1000 = 3000")
t2 = Template("$package is a web framework written in $language")
t3 = Template("$greeting! My favourite programming language is $language")
t4 = Template("[$a, $b, $c, $d, $e]")
t5 = Template("The value of PI or π: $pi")
print(t1.safe_substitute({}))
print(t2.safe_substitute({"package": "Flask"}))
print(t3.safe_substitute({"language": "Python"}))
print(t4.safe_substitute(c="Python", d=True, e=999.909))
print(t5.safe_substitute())

Producción :

$a + 1000 = 3000
Flask is a web framework written in $language
$greeting! My favourite programming language is Python
[$a, $b, Python, True, 999.909]
The value of PI or π: $pi
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Artículo relacionado - Python String