Escape sekvenser i Python
Escape-sekvenser giver dig mulighed for at medtage specialtegn i strenge. For at gøre dette skal du blot tilføje et tilbageslag ( \
) før det tegn, du vil undslippe.
Forestil dig for eksempel, at du initialiserede en streng med enkelt anførselstegn:
s = 'Hey, whats up?' print(s)
Produktion:
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)
Produktion:
File "main.py", line 1 s = 'Hey, what's up?' ^ SyntaxError: invalid syntax
For at løse dette skal du bare undslippe apostrofen:
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.")
Produktion:
Multiline strings can be created using escape sequences.
En vigtig ting at huske er, at hvis du vil inkludere et tilbageslagstegn i en streng, skal du undslippe det. For eksempel, hvis du vil udskrive en biblioteksti i Windows, skal du slippe for hver tilbageslag i strengen:
print("C:\\Users\\Pat\\Desktop")
Produktion:
C:\Users\Pat\Desktop
Rå strenge
En rå streng kan bruges ved at prefikse strengen med r
eller R
, hvilket gør det muligt at inkludere tilbageslag uden behov for at undslippe dem. For eksempel:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Produktion:
Backslashes \ don't need to be escaped in raw strings.
Men husk, at unescaped backslash i slutningen af en rå streng vil forårsage og fejle:
print(r"There's an unescaped backslash at the end of this string\")
Produktion:
File "main.py", line 1 print(r"There's an unescaped backslash at the end of this string\") ^ SyntaxError: EOL while scanning string literal
Almindelige flugtsekvenser
Escape sekvens | Betyder |
---|---|
\ | Omvendt skråstreg ( \ ) |
'' | Enkelt tilbud ( ' ) |
" | Dobbelt tilbud ( " ) |
\ n | ASCII Linefeed (tilføjer ny linje) |
\ b | ASCII Backspace |
En komplet liste over escape-sekvenser kan findes her i Python-dokumenterne.