Python functools.namedtuple

lvc*_*lvc 6 python python-idle

我知道它的存在和目的collections.namedtuple,但我注意到,至少在IDLE(3.2.2)中,这个工厂函数也在functools:

>>> import functools
>>> functools.namedtuple
<function namedtuple at 0x024B41E0>
Run Code Online (Sandbox Code Playgroud)

它也collections按预期存在,并且功能相同:

>>> import collections
>>> collections.namedtuple is functools.namedtuple
True
Run Code Online (Sandbox Code Playgroud)

没有我能找到的文档提到namedtuple除了集合以外的任何地方.那么:这个标准,还是只是一种空洞的怪异?如果它只是空闲,它是一个错误还是一个为什么会namedtuple出现在两个地方 - 实际上,在functools所有地方它的歪曲心态是否有意义?

NPE*_*NPE 8

在Python 3.2.2中,functools.py包含以下导入:

from collections import OrderedDict, namedtuple
Run Code Online (Sandbox Code Playgroud)

很明显,它只是模块实现的便利导入,并不打算成为其公共接口的一部分.