Aller au contenu

Échappement de chaînes de caractères en Python : Guide complet

En tant que développeurs Python, nous savons tous à quel point il est important de savoir manipuler les chaînes de caractères. Cependant, il n'est pas toujours facile de gérer des chaînes contenant des caractères spéciaux ou des séquences d'échappement. Dans ce guide complet, nous couvrirons tout ce que vous devez savoir sur l'échappement des chaînes en Python, y compris leur définition, leur utilité et la manière de les gérer dans votre code. À la fin de ce guide, vous serez capable de manipuler en toute confiance les chaînes contenant des séquences d'échappement et d'améliorer la qualité de votre code Python.

Qu'est-ce que l'échappement des chaînes en Python ?

L'échappement des chaînes en Python fait référence à l'utilisation d'un `barre oblique inverse (\)` pour indiquer que le caractère suivant doit être traité différemment. En d'autres termes, le caractère barre oblique inverse sert à échapper le caractère qui le suit, l'empêchant d'être interprété normalement. Cela peut être utile lorsque vous devez inclure des caractères spéciaux, tels que des tabulations ou des sauts de ligne, dans vos chaînes.

Par exemple, supposons que vous souhaitiez afficher une chaîne contenant une tabulation. Sans utiliser de séquence d'échappement, Python interpréterait la tabulation comme un espace blanc et ne l'afficherait pas correctement. En revanche, en utilisant la séquence d'échappement \t, vous pouvez insérer un caractère de tabulation dans la chaîne, qui s'affichera alors correctement.

Séquences d'échappement courantes

Maintenant que nous savons ce qu'est l'échappement des chaînes en Python, examinons de plus près certaines des séquences d'échappement les plus courantes que vous rencontrerez en Python :

  • \n - saut de ligne
  • \t - tabulation
  • \r - retour chariot
  • \b - retour arrière
  • \f - saut de page
  • \' - cote simple
  • \" - guillemet double
  • \\ - barre oblique inverse

Il est important de noter que ces séquences d'échappement sont sensibles à la casse. Par exemple, \n est différent de \N, et \t est différent de \T. Assurez-vous d'utiliser la bonne casse lors de l'utilisation de ces séquences dans votre code.

Chaînes brutes

Parfois, vous souhaiterez peut-être inclure un caractère barre oblique inverse dans votre chaîne sans qu'il soit interprété comme une séquence d'échappement. Pour cela, vous pouvez utiliser une chaîne brute. Une chaîne brute s'obtient en ajoutant un 'r' avant le guillemet d'ouverture de la chaîne.

Par exemple :

Créer une chaîne brute en Python et la comparer à une chaîne simple

python
string_with_backslash = "C:\\Users\\John\\Documents\\file.txt"
print(string_with_backslash)
raw_string_with_backslash = r"C:\Users\John\Documents\file.txt"
print(raw_string_with_backslash)

Dans le premier exemple, nous avons utilisé des séquences d'échappement pour créer une chaîne contenant des barres obliques inverses. Dans le second exemple, nous avons utilisé une chaîne brute pour créer la même chaîne sans recourir aux séquences d'échappement.

Conclusion

Dans ce guide, nous avons couvert tout ce que vous devez savoir sur l'échappement des chaînes en Python. Nous avons discuté de ce que sont les séquences d'échappement, de leur utilité et de certaines des plus courantes que vous rencontrerez en Python. Nous avons également abordé les chaînes brutes et la manière de les utiliser pour inclure des barres obliques inverses dans vos chaînes sans utiliser de séquences d'échappement.

En maîtrisant l'échappement des chaînes en Python, vous serez en mesure de manipuler les chaînes plus efficacement et d'écrire un code de meilleure qualité. N'oubliez pas d'utiliser les séquences d'échappement appropriées pour les caractères que vous souhaitez inclure, et pensez à utiliser des chaînes brutes si vous devez intégrer des barres obliques inverses.

Pratique

En Python, quels sont quelques usages possibles des caractères d'échappement ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.