Document bytes.translate().

BTW, having str.maketrans() as a static method and
string.maketrans() as a function that creates translation tables for bytes objects is not very consistent :)
This commit is contained in:
Georg Brandl 2008-12-27 23:33:20 +00:00
parent 09923f3b45
commit 454636f027
1 changed files with 16 additions and 17 deletions

View File

@ -1116,13 +1116,12 @@ functions based on regular expressions.
.. method:: str.translate(map) .. method:: str.translate(map)
Return a copy of the *s* where all characters have been mapped through the Return a copy of the *s* where all characters have been mapped through the
*map* which must be a dictionary of Unicode ordinals(integers) to Unicode *map* which must be a dictionary of Unicode ordinals (integers) to Unicode
ordinals, strings or ``None``. Unmapped characters are left untouched. ordinals, strings or ``None``. Unmapped characters are left untouched.
Characters mapped to ``None`` are deleted. Characters mapped to ``None`` are deleted.
You can use :meth:`str.maketrans` to create a translation table. For string You can use :meth:`str.maketrans` to create a translation map from
objects, set the *table* argument to ``None`` for translations that only character-to-character mappings in different formats.
delete characters:
.. note:: .. note::
@ -1525,23 +1524,23 @@ The bytes and bytearray types have an additional class method:
>>> bytes.fromhex('f0 f1f2 ') >>> bytes.fromhex('f0 f1f2 ')
b'\xf0\xf1\xf2' b'\xf0\xf1\xf2'
.. XXX verify/document translate() semantics! The translate method differs in semantics from the version available on strings:
.. method:: bytes.translate(table[, delete])
.. method:: bytes.translate(table[, delete]) Return a copy of the bytes or bytearray object where all bytes occurring in
the optional argument *delete* are removed, and the remaining bytes have been
mapped through the given translation table, which must be a bytes object of
length 256.
Return a copy of the bytes object where all bytes occurring in the optional You can use the :func:`string.maketrans` helper function to create a
argument *delete* are removed, and the remaining bytes have been mapped translation table.
through the given translation table, which must be a bytes object of length
256.
You can use the :func:`maketrans` helper function in the :mod:`string` module to Set the *table* argument to ``None`` for translations that only delete
create a translation table. characters::
.. XXX a None table doesn't seem to be supported >>> b'read this short text'.translate(None, b'aeiou')
Set the *table* argument to ``None`` for translations that only delete characters:: b'rd ths shrt txt'
>>> 'read this short text'.translate(None, 'aeiou')
'rd ths shrt txt'
.. _types-set: .. _types-set: