28.4. future_builtins — Python 3ビルトイン—Pythonドキュメント
提供:Dev Guides
< PythonPython/docs/2.7/library/future builtins
28.4。 future_builtins — Python3ビルトイン
バージョン2.6の新機能。
このモジュールは、2.xに存在する関数を提供しますが、Python 3では動作が異なるため、2.x組み込み名前空間に配置することはできません。
代わりに、Python 3ビルトインと互換性のあるコードを記述したい場合は、次のように、このモジュールからそれらをインポートします。
from future_builtins import map, filter
... code using Python 3-style map and filter ...
Python2コードをPython3に移植する 2to3 ツールは、この使用法を認識し、新しいビルトインをそのままにします。
ノート
Python 3 print()関数はすでに組み込み関数に含まれていますが、適切なfutureステートメントを使用しない限り、Python2コードからアクセスすることはできません。
from __future__ import print_function
使用可能なビルトインは次のとおりです。
- future_builtins.ascii(object)
- repr()と同じものを返します。 Python 3では、 repr()はエスケープされていない印刷可能なUnicode文字を返しますが、 ascii()は常にバックスラッシュエスケープします。 2.6コードで repr()の代わりに future_builtins.ascii()を使用すると、純粋な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__()
メソッドを使用して整数を取得し、それを8進数に変換します。
- future_builtins.zip(*iterables)
- itertools.izip()のように機能します。