### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 27. Python ランタイムサービス »

# 27.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()` 関数は、Python 2でもビルトイン関数です。しかし、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()` と同じように動作します。

`future_builtins.``oct`(object)

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

`future_builtins.``zip`(*iterables)

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

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 27. Python ランタイムサービス »