28.4. future_builtins – встроенные функции Python 3¶future_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 3repr()вернёт печатные символы 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().