28.4. future_builtins — Python 3 内置函数 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/future builtins
28.4. future_builtins — Python 3 内置函数
2.6 版中的新功能。
此模块提供 2.x 中存在的函数,但在 Python 3 中具有不同的行为,因此无法将它们放入 2.x 内置命名空间中。
相反,如果您想编写与 Python 3 内置函数兼容的代码,请从此模块导入它们,如下所示:
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() 将始终反斜杠转义它们。 在 2.6 代码中使用 future_builtins.ascii() 而不是 repr() 清楚地表明您需要一个纯 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() 一样工作。