La interpolación de strings es el proceso de sustituir valores de variables en marcadores de posición en una string. Consideremos un ejemplo para entenderlo mejor, supongamos que desea cambiar el valor de la string cada vez que imprime la string como si quisiera imprimir «hola <nombre> bienvenido a geeksforgeeks» donde <nombre> es el marcador de posición para el nombre del usuario En lugar de crear una nueva string cada vez, la interpolación de strings en Python puede ayudarlo a cambiar dinámicamente el marcador de posición con el nombre del usuario.
% – Formateo
%: el formato es una función proporcionada por Python a la que se puede acceder con un operador %. Esto es similar a la función de estilo printf en C.
Ejemplo: String de formato usando el operador %
Python3
# Python program to demonstrate # string interpolation n1 = 'Hello' n2 = 'GeeksforGeeks' # for single substitution print("Welcome to % s" % n2) # for single and multiple substitutions() # mandatory print("% s ! This is % s." % (n1, n2))
Welcome to GeeksforGeeks Hello ! This is GeeksforGeeks.
Digamos que es solo una versión complicada, pero podemos usarla si tenemos muchas variables para sustituir en la string, ya que no siempre queremos usar («string» + variable + «string» + variable + variable + “string”) esta representación. Entonces, para este propósito, podemos usar el formato %.
Nota: Para obtener más información sobre el formato %, consulte Formato de string en Python usando %
Formato de string()
str.format() funciona colocando uno o más campos de reemplazo y marcadores de posición definidos por un par de llaves { } en una string. El valor que deseamos poner en los marcadores de posición y concatenar con la string pasada como parámetros en la función de formato.
Ejemplo: Formateo de strings usando el método format()
Python3
# Python program to demonstrate # string interpolation n1 = 'Hello' n2 = 'GeeksforGeeks' # for single substitution print('{}, {}'.format(n1, n2))
Hello, GeeksforGeeks
También podemos usar el nombre de la variable dentro de las llaves {}. Esto nos permitirá usar los parámetros de las funciones de formato en el orden que queramos.
Ejemplo: funciones de formato con variables dentro de llaves.
Python3
n1 = "Hello" n2 = "GeeksForGeeks" # for single or multiple substitutions # let's say b1 and b2 are formal parameters # and n1 and n2 are actual parameters print("{b1}! This is {b2}.".format(b1=n1, b2=n2)) # we can also change the order of the # variables in the string without changing # the parameters of format function print("{b2}! This is {b1}.".format(b1=n1, b2=n2))
Hello! This is GeeksForGeeks. GeeksForGeeks! This is Hello.
Nota: para saber más sobre str.format(), consulte la función format() en Python
cuerdas f
PEP 498 introdujo un nuevo mecanismo de formato de strings conocido como interpolación de strings literales o más comúnmente como strings F (debido al carácter f inicial que precede a la string literal). La idea detrás de f-strings es simplificar la interpolación de strings.
Para crear una string f, prefije la string con la letra «f». La string en sí se puede formatear de la misma manera que lo haría con str.format(). F-strings proporciona una forma concisa y conveniente de incrustar expresiones de Python dentro de literales de string para formatear.
Ejemplo: Formateo de strings usando f-strings
Python3
# Python program to demonstrate # string interpolation n1 = 'Hello' n2 = 'GeeksforGeeks' # f tells Python to restore the value of two # string variable name and program inside braces {} print(f"{n1}! This is {n2}")
Hello! This is GeeksforGeeks (2 * 3)-10 = -4
También podemos usar f-strings para calcular algunas operaciones aritméticas y realizará la aritmética en línea. Vea el siguiente ejemplo –
Ejemplo: aritmética en línea usando f-strings
Python3
a = 2 b = 3 c = 10 print(f"({a} * {b})-{c} = {(2 * 3)-10}")
(2 * 3)-10 = -4
Nota: para obtener más información sobre strings f, consulte strings f en Python
Clase de plantilla de string
En el módulo String, Template Class nos permite crear una sintaxis simplificada para la especificación de salida. El formato utiliza nombres de marcador de posición formados por $con identificadores de Python válidos (caracteres alfanuméricos y guiones bajos). Si rodea el marcador de posición con llaves, puede ir seguido de más letras alfanuméricas sin espacios intermedios. Escribir $$crea un solo $escapado:
Ejemplo: string de formato usando la clase de plantilla
Python3
# Python program to demonstrate # string interpolation from string import Template n1 = 'Hello' n2 = 'GeeksforGeeks' # made a template which we used to # pass two variable so n3 and n4 # formal and n1 and n2 actual n = Template('$n3 ! This is $n4.') # and pass the parameters into the template string. print(n.substitute(n3=n1, n4=n2))
Hello ! This is GeeksforGeeks.
Nota: para obtener más información sobre la clase de plantilla de string, consulte Clase de plantilla de string en Python