不同的树丛化身之间有区别吗?

2024-06-01 20:47:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在查看BTrees库,注意到有多个TreeSet(和其他)类,例如

  • BTrees.IOBTree.TreeSet
  • BTrees.OOBTree.TreeSet
  • BTrees.LFBTree.TreeSet
  • 。。。在

我知道BTree类对于其中的每一个都是不同的,因为它接受不同类型的键和值,但是TreeSet类呢?在

尽管反复试验,我发现第一个字母指示了TreeSet实例可以持有哪些类型,但是第二个字母呢?它对成员的存储/检索方式有什么影响吗?在

有相关文件吗?在


Tags: 文件实例类型字母方式成员btreebtrees
1条回答
网友
1楼 · 发布于 2024-06-01 20:47:37

不,TreeSet类忽略了第二个字母;为了完整性和易于导入,XXBTree模块中提供了它们。在

实际上,这些模块是使用大量创造性的预处理器宏工作创建的,这使得为每个键值类型变量生成一个TreeSet类型变得更加容易。在

包文档在一定程度上依赖于interface definitions;每个模块都有一个接口,第一句话记录该包中的集合包含什么:

class IIntegerObjectBTreeModule(IBTreeModule, IMerge):
    """keys, or set values, are integers; values are objects.

    describes IOBTree and LOBTree"""

以及

^{pr2}$

例如,说明了IOBTreeIIBTree模块的设置值都是整数。因此,IOBTree.TreeSet和{}本质上是相同的。在

package documentation然后使用这些接口定义自动生成API文档,包括per-module documentation with the (tree)set value details。在

相关问题 更多 >