Last updated: Friday 31st October
2008, 7:14 PT by AHD
This page
was taken from a search for escape sequences at www.python.org
Escape
Sequence |
Meaning |
Notes |
|
Ignored |
|
|
Backslash ( |
|
|
Single quote ( |
|
|
Double quote ( |
|
|
ASCII Bell (BEL) |
|
|
ASCII Backspace (BS) |
|
|
ASCII Formfeed (FF) |
|
|
ASCII Linefeed (LF) |
|
|
Character named name in the Unicode database (Unicode only) |
|
|
ASCII Carriage Return (CR) |
|
|
ASCII Horizontal Tab (TAB) |
|
|
Character with 16-bit hex value xxxx (Unicode only) |
(1) |
|
Character with 32-bit hex value xxxxxxxx (Unicode only) |
(2) |
|
ASCII Vertical Tab (VT) |
|
|
ASCII character with octal value
ooo |
(3) |
|
ASCII character with hex value hh |
(4) |
Notes:
(1)
Individual code units which form
parts of a surrogate pair can be encoded using this escape sequence.
(2)
Any Unicode character can be
encoded this way, but characters outside the Basic Multilingual Plane (BMP)
will be encoded using a surrogate pair if Python is compiled to use 16-bit code
units (the default). Individual code units which form parts of a surrogate pair
can be encoded using this escape sequence.
(3)
As in Standard C, up to three octal
digits are accepted.
(4)
Unlike in Standard C, at most two
hex digits are accepted.
Unlike Standard
C, all unrecognized escape sequences are left in the string unchanged,
i.e., the backslash is left in the string. (This behavior is useful when
debugging: if an escape sequence is mistyped, the resulting output is more
easily recognized as broken.) It is also important to note that the escape
sequences marked as ``(Unicode only)'' in the table above fall into the
category of unrecognized escapes for non-Unicode string literals.
When an "r" or "R"
prefix is present, a character following a backslash is included in the string
without change, and all backslashes are left in the string. For example,
the string literal r"\n"
consists of two
characters: a backslash and a lowercase "n".
String quotes can be escaped with a backslash, but the backslash remains in the
string; for example, r"\""
is a valid string
literal consisting of two characters: a backslash and a double quote; r"\"
is not a valid string literal
(even a raw string cannot end in an odd number of backslashes). Specifically, a
raw string cannot end in a single backslash (since the backslash would
escape the following quote character). Note also that a single backslash followed
by a newline is interpreted as those two characters as part of the string, not
as a line continuation.
When an "r" or "R"
prefix is used in conjunction with a "u"
or "U" prefix, then the \uXXXX
escape sequence is processed while all other
backslashes are left in the string. For example, the string literal ur"\u0062\n"
consists of three Unicode
characters: `LATIN SMALL LETTER B', `REVERSE SOLIDUS', and `LATIN SMALL LETTER
N'. Backslashes can be escaped with a preceding backslash; however, both remain
in the string. As a result, \uXXXX
escape sequences are
only recognized when there are an odd number of backslashes.