Документация Python неофициальный перевод

28.4. future_builtins – встроенные функции Python 3future_builtins – Python 3 builtins

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

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

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

from future_builtins import map, filter

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

Инструмент 2to3, предназначенный для переноса кода Python 2 на Python 3, распознает это использование и оставит новые встроенные функции нетронутыми.

Примечание

Функция 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() в коде Python 2.6 явно указывает на необходимость чисто ASCII возвращаемого значения.

future_builtins.filter(function, iterable)

Работает как itertools.ifilter().

future_builtins.hex(object)

Работает как встроенная функция hex(), но вместо __hex__() будет использовать метод __index__() для своего аргумента, чтобы получить целое число, которое затем преобразуется в шестнадцатеричную строку.

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

Работает как itertools.imap().

Примечание

В Python 3 map() не принимает None в качестве аргумента функции.

future_builtins.oct(object)

Работает как встроенная функция oct(), но вместо __oct__() будет использовать метод __index__() для своего аргумента, чтобы получить целое число, которое затем преобразуется в восьмеричную строку.

future_builtins.zip(*iterables)

Работает как itertools.izip().