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()のように機能します。