28.3. future_builtins — Python 3 builtins
New in version 2.6.
This module provides functions that exist in 2.x, but have different behavior in
Python 3, so they cannot be put into the 2.x builtin namespace.
Instead, if you want to write code compatible with Python 3 builtins, import
them from this module, like this:
from future_builtins import map, filter
... code using Python 3-style map and filter ...
The 2to3 tool that ports Python 2 code to Python 3 will recognize
this usage and leave the new builtins alone.
Note
The Python 3 print() function is already in the builtins, but cannot be
accessed from Python 2 code unless you use the appropriate future statement:
from __future__ import print_function
Available builtins are:
-
future_builtins.ascii(object)
- Returns the same as repr(). In Python 3, repr() will return
printable Unicode characters unescaped, while ascii() will always
backslash-escape them. Using future_builtins.ascii() instead of
repr() in 2.6 code makes it clear that you need a pure ASCII return
value.
-
future_builtins.filter(function, iterable)
- Works like itertools.ifilter().
-
future_builtins.hex(object)
- Works like the builtin hex(), but instead of __hex__() it will
use the __index__() method on its argument to get an integer that is
then converted to hexadecimal.
-
future_builtins.map(function, iterable, ...)
- Works like itertools.imap().
-
future_builtins.oct(object)
- Works like the builtin oct(), but instead of __oct__() it will
use the __index__() method on its argument to get an integer that is
then converted to octal.
-
future_builtins.zip(*iterables)
- Works like itertools.izip().