28.4. "future_builtins" --- Python 3 のビルトイン
*************************************************

バージョン 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()" 関数は、既にビルトイン関数の中にいます。
  しかし 、 future 文で指定しない限り、利用することができません

     from __future__ import print_function

利用できるビルトイン関数は、以下の通りです。

future_builtins.ascii(object)

   "repr()" と同じ値を返します。 Python 3 では、 "repr()" は表示可能な
   Unicode 文字をエスケープせずに返し、 "ascii()" はその文字列をバック
   スラッシュでエスケープします。 "future_builtins.ascii()" を
   "repr()" の代わりに利用することで、 ASCII 文字列を必要としているこ
   とを明示できます。

future_builtins.filter(function, iterable)

   "itertools.ifilter()" と同じように動作します。

future_builtins.hex(object)

   ビルトイン "hex()" と同じように動作しますが、 "__hex__()" の代わり
   に、 "__index__()" メソッドを利用して整数を取得し、それを 16 進数文
   字列に変換します。

future_builtins.map(function, iterable, ...)

   "itertools.imap()" と同じように動作します。

   注釈: Python 3 では、 "map()" は "None" を引数として許容しません
     。

future_builtins.oct(object)

   ビルトイン "oct()" と同じように動作しますが、 "__oct__()" の代わり
   に、 "__index__()" メソッドを利用して整数を取得し、それを 16 進数文
   字列に変換します。

future_builtins.zip(*iterables)

   "itertools.izip()" と同じように動作します。
