バージョン 2.6 で追加.
このモジュールは、Python 2.x に存在するけれども、 Python 3では異なった動作をするために、Python 2.xのビルトイン名前空間に追加できない 関数を提供します。
代わりに、Python 3のビルトイン関数と互換性のあるコードを書きたい場合は、 次のように、このモジュールからその関数をimportしてください。
from future_builtins import map, filter
... code using Python 3-style map and filter ...
Python 2のコードをPython 3用に変換する 2to3 ツールは、 この利用方法を検出し、新しいビルトイン関数をそのまま利用します。
ノート
Python 3の print() 関数は、Python 2でもビルトイン関数です。 しかし、future文で指定しない限り、利用することができません。
from __future__ import print_function
利用できるビルトイン関数は、以下の通りです。
repr() と同じ値を返します。 Python 3 では、 repr() は表示可能なUnicode文字をエスケープせずに返し、 ascii() はその文字列をバックスラッシュでエスケープします。 future_builtins.ascii() を repr() の代わりに利用することで、 ASCII文字列を必要としていることを明示できます。
itertools.ifilter() と同じように動作します。
ビルトイン hex() と同じように動作しますが、 __hex__() の代わりに、 __index__() メソッドを利用して整数を取得し、それを16進数文字列に変換します。
itertools.imap() と同じように動作します。
ビルトイン oct() と同じように動作しますが、 __oct__() の代わりに、 __index__() メソッドを利用して整数を取得し、それを16進数文字列に変換します。
itertools.izip() と同じように動作します。