Escape sequenties staan u toe om speciale karakters in strings op te nemen. Om dit te doen, voegt u een backslash (\) toe vóór het teken dat u wilt escapen.
Stelt u zich bijvoorbeeld voor dat u een tekenreeks hebt geïnitialiseerd met enkele aanhalingstekens:
s = 'Hey, whats up?'print(s)
Uitvoer:
Hey, whats up?
Maar als u een apostrof invoegt zonder deze te escapen, dan krijgt u een foutmelding:
s = 'Hey, what's up?'print(s)
Uitvoer:
File "main.py", line 1 s = 'Hey, what's up?' ^SyntaxError: invalid syntax
Om dit te verhelpen, escapet u gewoon de apostrof:
s = 'Hey, what\'s up?'print(s)
Om newlines aan je string toe te voegen, gebruik je \n:
print("Multiline strings\ncan be created\nusing escape sequences.")
Output:
Multiline stringscan be createdusing escape sequences.
Een belangrijk ding om te onthouden is dat, als je een backslash karakter in een string wilt opnemen, je dat moet escapen. Als u bijvoorbeeld een mappad in Windows wilt afdrukken, moet u elke backslash in de tekenreeks escapen:
print("C:\Users\Pat\Desktop")
Uitvoer:
C:\Users\Pat\Desktop
Ruwe tekenreeksen
Een ruwe tekenreeks kan worden gebruikt door de tekenreeks te laten voorafgaan door r of R, waardoor backslashes kunnen worden opgenomen zonder dat u ze hoeft te escapen. Bijvoorbeeld:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Uitvoer:
Backslashes \ don't need to be escaped in raw strings.
Maar onthoud dat niet-geëscaped backslashes aan het eind van een raw string een foutmelding zal veroorzaken:
print(r"There's an unescaped backslash at the end of this string\")
Uitvoer:
File "main.py", line 1 print(r"There's an unescaped backslash at the end of this string\") ^SyntaxError: EOL while scanning string literal
| Escape Sequence | Meaning |
|---|---|
Backslash (\) |
|
| ‘ | Single quote (') |
| “ | Double aanhalingsteken (") |
| Nieuwe regel | ASCII Linefeed (voegt nieuwe regel toe) |
| B | ASCII Backspace |
Een volledige lijst van escape-sequenties kan hier worden gevonden in de Python docs.