Armin Ronacher  committed 042e748

Basic documentation for PEP 414

  • Participants
  • Parent commits ed9497d

Comments (0)

Files changed (1)

File Doc/reference/lexical_analysis.rst

 .. productionlist::
    stringliteral: [`stringprefix`](`shortstring` | `longstring`)
-   stringprefix: "r" | "R"
+   stringprefix: "r" | "u" | "ur" | "R" | "U" | "UR" | "Ur" | "uR"
    shortstring: "'" `shortstringitem`* "'" | '"' `shortstringitem`* '"'
    longstring: "'''" `longstringitem`* "'''" | '"""' `longstringitem`* '"""'
    shortstringitem: `shortstringchar` | `stringescapeseq`
 may only contain ASCII characters; bytes with a numeric value of 128 or greater
 must be expressed with escapes.
+As of Python 3.3 it is possible again to prefix unicode strings with a
+``u`` prefix to simplify maintenance of dual 2.x and 3.x codebases.
 Both string and bytes literals may optionally be prefixed with a letter ``'r'``
 or ``'R'``; such strings are called :dfn:`raw strings` and treat backslashes as
 literal characters.  As a result, in string literals, ``'\U'`` and ``'\u'``
       The ``'rb'`` prefix of raw bytes literals has been added as a synonym
       of ``'br'``.
+   .. versionadded:: 3.3
+      Support for the unicode legacy literal (``u'value'``) and other
+      versions were reintroduced to simplify the maintenance of dual
+      Python 2.x and 3.x codebases.  See :pep:`414` for more information.
 In triple-quoted strings, unescaped newlines and quotes are allowed (and are
 retained), except that three unescaped quotes in a row terminate the string.  (A
 "quote" is the character used to open the string, i.e. either ``'`` or ``"``.)