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

future_builtins.md

60 строк · 4.8 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.7/library/future_builtins.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 28.4. [`future_builtins`](https://python-all.ru/2.7/library/future_builtins.html#module-future_builtins) – встроенные функции Python 389Новое в версии 2.6.1011Этот модуль предоставляет функции, которые существуют в 2.x, но имеют другое поведение в Python 3, поэтому они не могут быть помещены в пространство имён встроенных функций 2.x.1213Вместо этого, чтобы писать код, совместимый с встроенными функциями Python 3, импортируйте их из этого модуля, например:1415```python16from future_builtins import map, filter1718... code using Python 3-style map and filter ...19```2021Инструмент [2to3](https://python-all.ru/2.7/glossary.html#term-2to3), предназначенный для переноса кода Python 2 на Python 3, распознает это использование и оставит новые встроенные функции нетронутыми.2223> **Примечание**24>25> Функция Python 3 [`print()`](https://python-all.ru/2.7/library/functions.html#print) уже находится во встроенных функциях, но не может быть доступна из кода Python 2, если не использовать соответствующий оператор future:26>27> ```python28> from __future__ import print_function29> ```3031Доступные встроенные функции:3233#### `future_builtins.ascii(object)`3435Возвращает то же, что и [`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 возвращаемого значения.3637#### `future_builtins.filter(function, iterable)`3839Работает как [`itertools.ifilter()`](https://python-all.ru/2.7/library/itertools.html#itertools.ifilter).4041#### `future_builtins.hex(object)`4243Работает как встроенная функция [`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__) для своего аргумента, чтобы получить целое число, которое затем преобразуется в шестнадцатеричную строку.4445#### `future_builtins.map(function, iterable, ...)`4647Работает как [`itertools.imap()`](https://python-all.ru/2.7/library/itertools.html#itertools.imap).4849> **Примечание**50>51> В Python 3 [`map()`](https://python-all.ru/2.7/library/functions.html#map) не принимает `None` в качестве аргумента функции.5253#### `future_builtins.oct(object)`5455Работает как встроенная функция [`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__) для своего аргумента, чтобы получить целое число, которое затем преобразуется в восьмеричную строку.5657#### `future_builtins.zip(*iterables)`5859Работает как [`itertools.izip()`](https://python-all.ru/2.7/library/itertools.html#itertools.izip).60