strings print places interpolated float python python-3.6 f-string

places - python print f



¿Cómo escapar de f-cuerdas en python 3.6? (1)

Aunque hay un error de sintaxis personalizado desde el analizador, el mismo truco funciona como para cadenas normales.

Use doble rizos:

>>> foo = ''test'' >>> f''{foo} {{bar}}'' ''test {bar}''

Se menciona en la especificación here y los documentos here .

Tengo una cadena en la que me gustaría tener rizos, pero también aprovechar la función de f-cadenas. ¿Hay alguna sintaxis que funcione para esto?

Aquí hay dos formas en que no funciona. Me gustaría incluir el texto literal " {bar} " como parte de la cadena.

foo = "test" fstring = f"{foo} {bar}"

NameError: el nombre ''bar'' no está definido

fstring = f"{foo} /{bar/}"

SyntaxError: la parte de expresión de f-string no puede incluir una barra invertida

Resultado deseado:

''test {bar}''

Edición: Parece que esta pregunta tiene la misma respuesta que ¿Cómo puedo imprimir caracteres literales en forma de rizo en una cadena de python y también usar .format en ella? , pero solo puedes saber que si sabes que la función de formato usa las mismas reglas que la cadena de caracteres. Así que espero que esta pregunta tenga valor para vincular a los buscadores de cadenas de caracteres con esta respuesta.