Séquences d'échappement en Python

Les séquences d'échappement vous permettent d'inclure des caractères spéciaux dans les chaînes. Pour ce faire, ajoutez simplement une barre oblique inverse ( \) avant le caractère que vous souhaitez échapper.

Par exemple, imaginez que vous avez initialisé une chaîne avec des guillemets simples:

s = 'Hey, whats up?' print(s)

Production:

Hey, whats up?

Mais si vous incluez une apostrophe sans l'échapper, vous obtiendrez une erreur:

s = 'Hey, what's up?' print(s)

Production:

 File "main.py", line 1 s = 'Hey, what's up?' ^ SyntaxError: invalid syntax

Pour résoudre ce problème, échappez simplement à l'apostrophe:

s = 'Hey, what\'s up?' print(s)

Pour ajouter des nouvelles lignes à votre chaîne, utilisez \n:

print("Multiline strings\ncan be created\nusing escape sequences.")

Production:

Multiline strings can be created using escape sequences.

Une chose importante à retenir est que, si vous souhaitez inclure une barre oblique inverse dans une chaîne, vous devrez l'échapper. Par exemple, si vous souhaitez imprimer un chemin de répertoire dans Windows, vous devrez échapper à chaque barre oblique inverse dans la chaîne:

print("C:\\Users\\Pat\\Desktop")

Production:

C:\Users\Pat\Desktop

Chaînes brutes

Une chaîne brute peut être utilisée en préfixant la chaîne avec rou R, ce qui permet d'inclure des contre-obliques sans avoir besoin de les échapper. Par exemple:

print(r"Backslashes \ don't need to be escaped in raw strings.") 

Production:

Backslashes \ don't need to be escaped in raw strings.

Mais gardez à l'esprit que les barres obliques inverses non échappées à la fin d'une chaîne brute provoqueront une erreur:

print(r"There's an unescaped backslash at the end of this string\")

Production:

 File "main.py", line 1 print(r"There's an unescaped backslash at the end of this string\") ^ SyntaxError: EOL while scanning string literal

Séquences d'échappement courantes

Séquence d'échappementSens
\Barre oblique inverse ( \)
'Guillemet simple ( ')
"Guillemets doubles ( ")
\ nSaut de ligne ASCII (ajoute une nouvelle ligne)
\ bRetour arrière ASCII

Une liste complète des séquences d'échappement peut être trouvée ici dans la documentation Python.