Escape-sekvenser giver dig mulighed for at indsætte specialtegn i strenge. For at gøre dette skal du blot tilføje en skråstreg (\
) før det tegn, du vil undslippe.
Forestil dig for eksempel, at du har initialiseret en streng med enkelte anførselstegn:
s = 'Hey, whats up?'print(s)
Output:
Hey, whats up?
Men hvis du inkluderer en apostrof uden at undslippe den, får du en fejl:
s = 'Hey, what's up?'print(s)
Output:
File "main.py", line 1 s = 'Hey, what's up?' ^SyntaxError: invalid syntax
For at rette dette skal du blot undslippe apostrof’en:
s = 'Hey, what\'s up?'print(s)
For at tilføje nye linjer til din streng skal du bruge \n
:
print("Multiline strings\ncan be created\nusing escape sequences.")
Output:
Multiline stringscan be createdusing escape sequences.
En vigtig ting at huske er, at hvis du ønsker at inkludere et backslash-tegn i en streng, skal du undslippe det. Hvis du f.eks. vil udskrive en mappesti i Windows, skal du undvige hver backslash i strengen:
print("C:\Users\Pat\Desktop")
Output:
C:\Users\Pat\Desktop
Raw strings
En raw-streng kan bruges ved at give strengen et præfiks med r
eller R
, hvilket gør det muligt at inkludere backslashes uden at skulle undvige dem. For eksempel:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Output:
Backslashes \ don't need to be escaped in raw strings.
Men husk på, at uomfattede backslashes i slutningen af en rå streng vil forårsage en fejl:
print(r"There's an unescaped backslash at the end of this string\")
Output:
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 citationstegn () |
\n | ASCII Linefeed (tilføjer ny linje) |
\b | ASCII Backspace |
En komplet liste over escape-sekvenser kan findes her i Python-dokumenterne.