Escape sequences allow you to include special characters in strings. To do this, simply add a backslash (\
) before the character you want to escape.
For example, imagine you initialized a string with single quotes:
s = 'Hey, whats up?'
print(s)
Output:
Hey, whats up?
But if you include an apostrophe without escaping it, then you will get an error:
s = 'Hey, what's up?'
print(s)
Output:
File "main.py", line 1
s = 'Hey, what's up?'
^
SyntaxError: invalid syntax
To fix this, just escape the apostrophe:
s = 'Hey, what\'s up?'
print(s)
To add newlines to your string, use \n
:
print("Multiline strings\ncan be created\nusing escape sequences.")
Output:
Multiline strings
can be created
using escape sequences.
An important thing to remember is that, if you want to include a backslash character in a string, you will need to escape that. For example, if you want to print a directory path in Windows, you'll need to escape each backslash in the string:
print("C:\\Users\\Pat\\Desktop")
Output:
C:\Users\Pat\Desktop
Raw strings
A raw string can be used by prefixing the string with r
or R
, which allows for backslashes to be included without the need to escape them. For example:
print(r"Backslashes \ don't need to be escaped in raw strings.")
Output:
Backslashes \ don't need to be escaped in raw strings.
But keep in mind that unescaped backslashes at the end of a raw string will cause and error:
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
Common escape sequences
Escape Sequence | Meaning |
---|---|
\ | Backslash (\ ) |
' | Single quote (' ) |
" | Double quote (" ) |
\n | ASCII Linefeed (adds newline) |
\b | ASCII Backspace |
A full list of escape sequences can be found here in the Python docs.