1:mod:`future_builtins` --- Python 3 builtins 2============================================ 3 4.. module:: future_builtins 5.. sectionauthor:: Georg Brandl 6.. versionadded:: 2.6 7 8This module provides functions that exist in 2.x, but have different behavior in 9Python 3, so they cannot be put into the 2.x builtins namespace. 10 11Instead, if you want to write code compatible with Python 3 builtins, import 12them from this module, like this:: 13 14 from future_builtins import map, filter 15 16 ... code using Python 3-style map and filter ... 17 18The :term:`2to3` tool that ports Python 2 code to Python 3 will recognize 19this usage and leave the new builtins alone. 20 21.. note:: 22 23 The Python 3 :func:`print` function is already in the builtins, but cannot be 24 accessed from Python 2 code unless you use the appropriate future statement:: 25 26 from __future__ import print_function 27 28 29Available builtins are: 30 31.. function:: ascii(object) 32 33 Returns the same as :func:`repr`. In Python 3, :func:`repr` will return 34 printable Unicode characters unescaped, while :func:`ascii` will always 35 backslash-escape them. Using :func:`future_builtins.ascii` instead of 36 :func:`repr` in 2.6 code makes it clear that you need a pure ASCII return 37 value. 38 39.. function:: filter(function, iterable) 40 41 Works like :func:`itertools.ifilter`. 42 43.. function:: hex(object) 44 45 Works like the built-in :func:`hex`, but instead of :meth:`__hex__` it will 46 use the :meth:`__index__` method on its argument to get an integer that is 47 then converted to hexadecimal. 48 49.. function:: map(function, iterable, ...) 50 51 Works like :func:`itertools.imap`. 52 53 .. note:: 54 55 In Python 3, :func:`map` does not accept ``None`` for the 56 function argument. 57 58.. function:: oct(object) 59 60 Works like the built-in :func:`oct`, but instead of :meth:`__oct__` it will 61 use the :meth:`__index__` method on its argument to get an integer that is 62 then converted to octal. 63 64.. function:: zip(*iterables) 65 66 Works like :func:`itertools.izip`. 67