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.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.