Las cadenas f están disponibles en Python 3.6 y son muy útiles para formatear cadenas:
>>> n='you'
>>> f'hello {n}, how are you?'
'hello you, how are you?'
Leer más sobre ellos en las f-Strings de Python 3: una sintaxis de formato de cadena mejorada (Guía) . Encontré un patrón interesante:
Tenga en cuenta que el uso de llaves triples dará como resultado que solo haya llaves simples en su cadena:
>>> f"{{{74}}}" '{74}'Sin embargo, puede obtener más llaves para mostrar si usa más de llaves triples:
>>> f"{{{{74}}}}" '{{74}}'
Y este es exactamente el caso:
>>> f'{74}'
'74'
>>> f'{{74}}'
'{74}'
Ahora si pasamos de dos {a tres, el resultado es el mismo:
>>> f'{{{74}}}'
'{74}' # same as f'{{74}}' !
¡Entonces necesitamos hasta 4! ( {{{{) para obtener dos llaves como salida:
>>> f'{{{{74}}}}'
'{{74}}'
¿Por qué es esto? ¿Qué sucede con dos llaves para que Python requiera una extra a partir de ese momento?
f'{2+2}'devuelve 4, f'{{2+2}}'devuelve 2 + 2, f'{{{2+2}}}'➝ {4}, f'{{{{2+2}}}}'➝ {{2 + 2}} y así sucesivamente. Tiene sentido, pero se desconcierta un poco a primera vista.
f'{74}'es lo mismo que f'74'.
str.formattambién lo hace.
"{74}".format(...)requeriría una secuencia con al menos 74 elementos.
f"{{2+2}}"yf"{{{2+2}}}", que son'{2+2}'y'{4}'respectivamente