Escape-sekvenser gör det möjligt att inkludera specialtecken i strängar. För att göra detta lägger du helt enkelt till ett backslash (\
) före det tecken du vill undslippa.
Föreställ dig till exempel att du initialiserat en sträng med enkla citattecken:
s = 'Hey, whats up?'print(s)
Output:
Hey, whats up?
Men om du inkluderar en apostrof utan att undkomma den får du ett fel:
s = 'Hey, what's up?'print(s)
Output:
File "main.py", line 1 s = 'Hey, what's up?' ^SyntaxError: invalid syntax
För att åtgärda detta undkommer du helt enkelt apostrofen:
s = 'Hey, what\'s up?'print(s)
För att lägga till nya rader i strängen använder du \n
:
print("Multiline strings\ncan be created\nusing escape sequences.")
Output:
Multiline stringscan be createdusing escape sequences.
En viktig sak att komma ihåg är att om du vill inkludera ett backslash-tecken i en sträng måste du undvika det. Om du till exempel vill skriva ut en katalogsökväg i Windows måste du undvika varje backslash i strängen:
print("C:\Users\Pat\Desktop")
Output:
C:\Users\Pat\Desktop
Råa strängar
En obearbetad sträng kan användas genom att prefixera strängen med r
eller R
, vilket gör det möjligt att inkludera backslashes utan att du behöver undvika dem. Till exempel:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Output:
Backslashes \ don't need to be escaped in raw strings.
Men kom ihåg att backslashes i slutet av en obehandlad sträng som inte är markerade kommer att orsaka ett fel:
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 (\ ) |
’ | Enkla citationstecken (' ) |
” | Double citationstecken (" ) |
\n | ASCII Linefeed (lägger till ny rad) |
\b | ASCII Backspace |
En fullständig lista över undvikande sekvenser finns här i Pythons dokumentation.