[Python-checkins] gh-95994: Clarify escaped newlines. (GH-96066)
miss-islington
webhook-mailer at python.org
Fri Aug 26 15:12:08 EDT 2022
https://github.com/python/cpython/commit/f0469c74243f1ad1b5c8d79647660d497ee29ffe
commit: f0469c74243f1ad1b5c8d79647660d497ee29ffe
branch: 3.11
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: miss-islington <31488909+miss-islington at users.noreply.github.com>
date: 2022-08-26T12:11:59-07:00
summary:
gh-95994: Clarify escaped newlines. (GH-96066)
* gh-95994: clarify escaped newlines.
* Rephrase ambiguous sentence.
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach at Gerlach.CAM>
* Use `<newline>` in escape sequences table.
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach at Gerlach.CAM>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach at Gerlach.CAM>
(cherry picked from commit c3d591fd0699605c8253beda2372114052a7bdba)
Co-authored-by: Ezio Melotti <ezio.melotti at gmail.com>
files:
M Doc/reference/lexical_analysis.rst
diff --git a/Doc/reference/lexical_analysis.rst b/Doc/reference/lexical_analysis.rst
index e75f460f8497..44726de3e037 100644
--- a/Doc/reference/lexical_analysis.rst
+++ b/Doc/reference/lexical_analysis.rst
@@ -548,7 +548,7 @@ Standard C. The recognized escape sequences are:
+-----------------+---------------------------------+-------+
| Escape Sequence | Meaning | Notes |
+=================+=================================+=======+
-| ``\newline`` | Backslash and newline ignored | |
+| ``\``\ <newline>| Backslash and newline ignored | \(1) |
+-----------------+---------------------------------+-------+
| ``\\`` | Backslash (``\``) | |
+-----------------+---------------------------------+-------+
@@ -570,10 +570,10 @@ Standard C. The recognized escape sequences are:
+-----------------+---------------------------------+-------+
| ``\v`` | ASCII Vertical Tab (VT) | |
+-----------------+---------------------------------+-------+
-| ``\ooo`` | Character with octal value | (1,3) |
+| ``\ooo`` | Character with octal value | (2,4) |
| | *ooo* | |
+-----------------+---------------------------------+-------+
-| ``\xhh`` | Character with hex value *hh* | (2,3) |
+| ``\xhh`` | Character with hex value *hh* | (3,4) |
+-----------------+---------------------------------+-------+
Escape sequences only recognized in string literals are:
@@ -581,19 +581,30 @@ Escape sequences only recognized in string literals are:
+-----------------+---------------------------------+-------+
| Escape Sequence | Meaning | Notes |
+=================+=================================+=======+
-| ``\N{name}`` | Character named *name* in the | \(4) |
+| ``\N{name}`` | Character named *name* in the | \(5) |
| | Unicode database | |
+-----------------+---------------------------------+-------+
-| ``\uxxxx`` | Character with 16-bit hex value | \(5) |
+| ``\uxxxx`` | Character with 16-bit hex value | \(6) |
| | *xxxx* | |
+-----------------+---------------------------------+-------+
-| ``\Uxxxxxxxx`` | Character with 32-bit hex value | \(6) |
+| ``\Uxxxxxxxx`` | Character with 32-bit hex value | \(7) |
| | *xxxxxxxx* | |
+-----------------+---------------------------------+-------+
Notes:
(1)
+ A backslash can be added at the end of a line to ignore the newline::
+
+ >>> 'This string will not include \
+ ... backslashes or newline characters.'
+ 'This string will not include backslashes or newline characters.'
+
+ The same result can be achieved using :ref:`triple-quoted strings <strings>`,
+ or parentheses and :ref:`string literal concatenation <string-concatenation>`.
+
+
+(2)
As in Standard C, up to three octal digits are accepted.
.. versionchanged:: 3.11
@@ -601,22 +612,22 @@ Notes:
In a future Python version they will be a :exc:`SyntaxWarning` and
eventually a :exc:`SyntaxError`.
-(2)
+(3)
Unlike in Standard C, exactly two hex digits are required.
-(3)
+(4)
In a bytes literal, hexadecimal and octal escapes denote the byte with the
given value. In a string literal, these escapes denote a Unicode character
with the given value.
-(4)
+(5)
.. versionchanged:: 3.3
Support for name aliases [#]_ has been added.
-(5)
+(6)
Exactly four hex digits are required.
-(6)
+(7)
Any Unicode character can be encoded this way. Exactly eight hex digits
are required.
More information about the Python-checkins
mailing list