summaryrefslogtreecommitdiffstats
path: root/Doc/library
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-06-11 18:37:52 (GMT)
committerGeorg Brandl <georg@python.org>2008-06-11 18:37:52 (GMT)
commit559e5d7f4d1155e95fb6f925c927a263f9196935 (patch)
tree4688423e81e9ffed7a5b2c87c50b55419e8e885a /Doc/library
parentea6d58d9d3033436b52e84960b9571525a4f5412 (diff)
downloadcpython-559e5d7f4d1155e95fb6f925c927a263f9196935.zip
cpython-559e5d7f4d1155e95fb6f925c927a263f9196935.tar.gz
cpython-559e5d7f4d1155e95fb6f925c927a263f9196935.tar.bz2
#2630: Implement PEP 3138.
The repr() of a string now contains printable Unicode characters unescaped. The new ascii() builtin can be used to get a repr() with only ASCII characters in it. PEP and patch were written by Atsuo Ishimoto.
Diffstat (limited to 'Doc/library')
-rw-r--r--Doc/library/functions.rst8
-rw-r--r--Doc/library/stdtypes.rst11
-rw-r--r--Doc/library/string.rst5
3 files changed, 22 insertions, 2 deletions
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 875eea0..a420974 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -91,6 +91,14 @@ are always available. They are listed here in alphabetical order.
return False
+.. function:: ascii(object)
+
+ As :func:`repr`, return a string containing a printable representation of an
+ object, but escape the non-ASCII characters in the string returned by
+ :func:`repr` using ``\x``, ``\u`` or ``\U`` escapes. This generates a string
+ similar to that returned by :func:`repr` in Python 2.
+
+
.. function:: bin(x)
Convert an integer number to a binary string. The result is a valid Python
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 27c3fb4..0dd520e 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -774,6 +774,17 @@ functions based on regular expressions.
least one cased character, false otherwise.
+.. method:: str.isprintable()
+
+ Return true if all characters in the string are printable or the string is
+ empty, false otherwise. Nonprintable characters are those characters defined
+ in the Unicode character database as "Other" or "Separator", excepting the
+ ASCII space (0x20) which is considered printable. (Note that printable
+ characters in this context are those which should not be escaped when
+ :func:`repr` is invoked on a string. It has no bearing on the handling of
+ strings written to :data:`sys.stdout` or :data:`sys.stderr`.)
+
+
.. method:: str.isspace()
Return true if there are only whitespace characters in the string and there is
diff --git a/Doc/library/string.rst b/Doc/library/string.rst
index a5c3a81..668a530 100644
--- a/Doc/library/string.rst
+++ b/Doc/library/string.rst
@@ -229,8 +229,9 @@ as a string, overriding its own definition of formatting. By converting the
value to a string before calling :meth:`__format__`, the normal formatting logic
is bypassed.
-Two conversion flags are currently supported: ``'!s'`` which calls :func:`str`
-on the value, and ``'!r'`` which calls :func:`repr`.
+Three conversion flags are currently supported: ``'!s'`` which calls :func:`str`
+on the value, ``'!r'`` which calls :func:`repr` and ``'!a'`` which calls
+:func:`ascii`.
Some examples::