Poner variables dentro de una cadena en Python
Poner cadenas dentro de otras cadenas es una operación común en programación. Hasta ahora, hemos utilizado el operador +
y la concatenación de cadenas para hacerlo:
>>> name = 'Al'
>>> age = 4000
>>> 'Hello, my name is ' + name + '. I am ' + str(age) + ' years old.'
'Hello, my name is Al. I am 4000 years old.'
Sin embargo, esto requiere una gran cantidad de escritura tediosa. Un enfoque más sencillo es utilizar la interpolación de cadenas, en la que el operador %s
dentro de la cadena actúa como un marcador que se sustituye por los valores que siguen a la cadena. Una ventaja de la interpolación de cadenas es que no es necesario llamar a str()
para convertir los valores en cadenas. Introduzca lo siguiente en el shell interactivo:
>>> name = 'Al'
>>> age = 4000
>>> 'My name is %s. I am %s years old.' % (name, age)
'My name is Al. I am 4000 years old.'
Python 3.6 introdujo f-strings, que es similar a la interpolación de cadenas excepto que se usan llaves en lugar de %s
, con las expresiones colocadas directamente dentro de las llaves. Al igual que las cadenas sin procesar, las f-strings tienen un prefijo f
antes de la comilla inicial. Introduzca lo siguiente en el shell interactivo:
>>> name = 'Al'
>>> age = 4000
>>> f'My name is {name}. Next year I will be {age + 1}.'
'My name is Al. Next year I will be 4001.'
Recuerda incluir el prefijo f
; de lo contrario, las llaves y su contenido formarán parte del valor de la cadena:
>>> 'My name is {name}. Next year I will be {age + 1}.'
'My name is {name}. Next year I will be {age + 1}.'