Saltar al contenido

¿Cómo puedo imprimir caracteres literales con llaves en una cadena y también usar .format en ella?

Solución:

Necesitas duplicar el {{ y }}:

>>> x = " {{ Hello }} {0} "
>>> print(x.format(42))
' { Hello } 42 '

Aquí está la parte relevante de la documentación de Python para la sintaxis de cadenas de formato:

Las cadenas de formato contienen “campos de reemplazo” rodeados por llaves. {}. Todo lo que no esté contenido entre llaves se considera texto literal, que se copia sin cambios en la salida. Si necesita incluir un carácter de llave en el texto literal, se puede escapar doblando: {{ y }}.

Python 3.6+ (2017)

En las versiones recientes de Python, se usarían cadenas f (ver también PEP498).

Con f-strings uno debería usar doble {{ o }}

n = 42  
print(f" {{Hello}} {n} ")

produce el deseado

 {Hello} 42

Si necesita resolver una expresión entre corchetes en lugar de usar texto literal, necesitará tres conjuntos de corchetes:

hello = "HELLO"
print(f"{{{hello.lower()}}}")

produce

{hello}

Se escapa doblando los tirantes.

P.ej:

x = "{{ Hello }} {0}"
print(x.format(42))
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *