> **Источник:** https://python-all.ru/2.7/library/future_builtins.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 28.4. [`future_builtins`](https://python-all.ru/2.7/library/future_builtins.html#module-future_builtins) – встроенные функции Python 3

Новое в версии 2.6.

Этот модуль предоставляет функции, которые существуют в 2.x, но имеют другое поведение в Python 3, поэтому они не могут быть помещены в пространство имён встроенных функций 2.x.

Вместо этого, чтобы писать код, совместимый с встроенными функциями Python 3, импортируйте их из этого модуля, например:

```python
from future_builtins import map, filter

... code using Python 3-style map and filter ...
```

Инструмент [2to3](https://python-all.ru/2.7/glossary.html#term-2to3), предназначенный для переноса кода Python 2 на Python 3, распознает это использование и оставит новые встроенные функции нетронутыми.

> **Примечание**
>
> Функция Python 3 [`print()`](https://python-all.ru/2.7/library/functions.html#print) уже находится во встроенных функциях, но не может быть доступна из кода Python 2, если не использовать соответствующий оператор future:
>
> ```python
> from __future__ import print_function
> ```

Доступные встроенные функции:

#### `future_builtins.ascii(object)`

Возвращает то же, что и [`repr()`](https://python-all.ru/2.7/library/functions.html#repr). В Python 3 [`repr()`](https://python-all.ru/2.7/library/functions.html#repr) вернёт печатные символы Unicode без экранирования, в то время как [`ascii()`](https://python-all.ru/2.7/library/future_builtins.html#future_builtins.ascii) всегда экранирует их обратной косой чертой. Использование [`future_builtins.ascii()`](https://python-all.ru/2.7/library/future_builtins.html#future_builtins.ascii) вместо [`repr()`](https://python-all.ru/2.7/library/functions.html#repr) в коде Python 2.6 явно указывает на необходимость чисто ASCII возвращаемого значения.

#### `future_builtins.filter(function, iterable)`

Работает как [`itertools.ifilter()`](https://python-all.ru/2.7/library/itertools.html#itertools.ifilter).

#### `future_builtins.hex(object)`

Работает как встроенная функция [`hex()`](https://python-all.ru/2.7/library/functions.html#hex), но вместо [`__hex__()`](https://python-all.ru/2.7/reference/datamodel.html#object.__hex__) будет использовать метод [`__index__()`](https://python-all.ru/2.7/reference/datamodel.html#object.__index__) для своего аргумента, чтобы получить целое число, которое затем преобразуется в шестнадцатеричную строку.

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

Работает как [`itertools.imap()`](https://python-all.ru/2.7/library/itertools.html#itertools.imap).

> **Примечание**
>
> В Python 3 [`map()`](https://python-all.ru/2.7/library/functions.html#map) не принимает `None` в качестве аргумента функции.

#### `future_builtins.oct(object)`

Работает как встроенная функция [`oct()`](https://python-all.ru/2.7/library/functions.html#oct), но вместо [`__oct__()`](https://python-all.ru/2.7/reference/datamodel.html#object.__oct__) будет использовать метод [`__index__()`](https://python-all.ru/2.7/reference/datamodel.html#object.__index__) для своего аргумента, чтобы получить целое число, которое затем преобразуется в восьмеричную строку.

#### `future_builtins.zip(*iterables)`

Работает как [`itertools.izip()`](https://python-all.ru/2.7/library/itertools.html#itertools.izip).
