Les f-Strings sont disponibles à partir de Python 3.6 et sont très utiles pour formater les chaînes:
>>> n='you'
>>> f'hello {n}, how are you?'
'hello you, how are you?'
En savoir plus à leur sujet dans f-Strings de Python 3: une syntaxe de formatage de chaîne améliorée (Guide) . J'ai trouvé un modèle intéressant:
Notez que l'utilisation d'accolades triples entraînera la présence d'accolades simples dans votre chaîne:
>>> f"{{{74}}}" '{74}'Cependant, vous pouvez obtenir plus d'accolades à afficher si vous utilisez plus de trois accolades:
>>> f"{{{{74}}}}" '{{74}}'
Et c'est exactement le cas:
>>> f'{74}'
'74'
>>> f'{{74}}'
'{74}'
Maintenant, si nous passons de deux {à trois, le résultat est le même:
>>> f'{{{74}}}'
'{74}' # same as f'{{74}}' !
Il nous faut donc jusqu'à 4! ( {{{{) pour obtenir deux accolades en sortie:
>>> f'{{{{74}}}}'
'{{74}}'
Pourquoi est-ce? Que se passe-t-il avec deux accolades pour que Python en ait besoin d'un supplémentaire à partir de ce moment?
f'{2+2}'renvoie 4, f'{{2+2}}'renvoie 2 + 2, f'{{{2+2}}}'➝ {4}, f'{{{{2+2}}}}'➝ {{2 + 2}} et ainsi de suite. Cela a du sens mais laisse un peu perplexe à première vue.
f'{74}'c'est la même chose que f'74'.
str.formatfait aussi.
"{74}".format(...)nécessiterait une séquence d'au moins 74 éléments.
f"{{2+2}}"etf"{{{2+2}}}", qui sont'{2+2}'et'{4}'respectivement