6

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

>>> import functools
>>> functools.namedtuple
<function namedtuple at 0x024B41E0>

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

>>> import collections
>>> collections.namedtuple is functools.namedtuple
True

我找不到任何文档提到namedtuple除了集合之外的任何地方。那么:这个标准,还是只是一个空闲的怪异?如果它只是空闲,它是一个错误还是一个为什么会namedtuple在两个地方 - 事实上,在谁扭曲的头脑中,它在functools所有地方都有意义?

4

1 回答 1

9

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

from collections import OrderedDict, namedtuple

很明显,它只是模块实现的一个方便导入,而不是它的公共接口的一部分。

于 2012-05-23T15:58:02.773 回答