Python et les f-strings

19/09/2020

Un petit cours d’histoire

Il y a encore peu, sous Python 2 puis 3 (<3.6), on pouvait formater une chaine de caractères à l’aide de la méthode format() ou bien de l’opérateur %. Ceci donnait, par exemple

utilisateur = "Jérôme"
ma_chaine = "Bonjour %s" % utilisateur 
ma_chaine2 = "Bonjour %s".format(utilisateur)

Les deux appels mènent au même résultat : Bonjour Jérôme. Pour les adorateurs de l’optimisation, l’usage de l’opérateur % était de l’ordre de 30% plus rapide que l’appel à format().

Vient le temps des f-strings

Python 3.6 apporte les f-strings. Rien de bien nouveau puisque vous avez sans doute pu croiser leur équivalent dans de nombreux languages. Concrètement, les f-strings permettent d’exploiter directement la variable dans la chaine. Par exemple :

utilisateur = "Jérôme"
ma_chaine = f"Bonjour {utilisateur}" 

Plusieurs avantages à cela :

  • Le code gagne en lisibilité. Avec l’usage de %s à répétition, il devenait vite facile de se perdre dans les différentes variables affichées.
  • L’exécution est beaucoup plus rapide! Les f-strings apportent un gain de près de 50% de temps d’exécution par rapport à l’opérateur %

Conclusion

Un (tout) petit article sur une (toute) petite fonctionnalité mais qui apporte beaucoup au quotidien pour les développeurs Python. Si votre projet tourne sous Python 3.6 et ultérieurs, n’hésitez pas à exploiter cet avantage :D

© 2018 - 2020 Jérôme Desseaux
Portez-vous bien ♥️