在线文档教程

future_builtins

future_builtins - Python 3 buildins

2.6版本中的新功能。

该模块提供了2.x中存在的函数,但在Python 3中具有不同的行为,因此它们不能放入2.x内置命名空间。

相反,如果你想编写与Python 3 builtins兼容的代码,可以从这个模块中导入它们,如下所示:

from future_builtins import map, filter ... code using Python 3-style map and filter ...

将Python 2代码移植到Python 3 的2to3工具将认识到这种用法并将新内置程序单独保留。

注意

Python 3 print()函数已经包含在内建函数中,但除非您使用适当的未来语句,否则无法从Python 2代码访问:

from __future__ import print_function

可用的builtins有:

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 __(),它将在其参数中使用__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()