Python 为什么集合ABC模块中的可调用ABC?

Python 为什么集合ABC模块中的可调用ABC?,python,abc,Python,Abc,Python模块包含许多方便的ABC,用于检查对象的各种特性,但其中一个似乎不属于Callable。没有一个标准集合是可调用的,并且没有提供任何推理,甚至没有提到可调用的ABC,那么为什么它在这个包中而不是在其他地方呢 背景: 我写Python->Java编译器是为了好玩,我只是想看看这个决定背后是否有任何理由,这样我就可以在我的代码中列出这些理由。这个模块源于PEP-3119,它提出: 容器和迭代器的特定ABC,将添加到集合模块 但从那时起,它演变成了更多的东西。现在,模块描述并没有明确提到容

Python模块包含许多方便的ABC,用于检查对象的各种特性,但其中一个似乎不属于
Callable
。没有一个标准集合是可调用的,并且没有提供任何推理,甚至没有提到可调用的ABC,那么为什么它在这个包中而不是在其他地方呢

背景:
我写Python->Java编译器是为了好玩,我只是想看看这个决定背后是否有任何理由,这样我就可以在我的代码中列出这些理由。

这个模块源于PEP-3119,它提出:

容器和迭代器的特定ABC,将添加到集合模块

但从那时起,它演变成了更多的东西。现在,模块描述并没有明确提到容器和迭代器。它说:

该模块提供抽象基类,可用于测试类是否提供特定接口;例如,它是可散列的还是映射的

我相信它是一个
集合
子模块,因为它在过去是它的一部分:

在3.3版中新增:以前,此模块是collections模块的一部分


一个合理的问题。。。然而,我不确定它是否真的与编程和编程问题有关。所以它可能会smooshed@JoranBeasley那么,我将介绍一些上下文。它应该放在哪里呢?新的
functools.abc
模块?那里会很寂寞,不是吗?也许这是个线索。没有可调用的集合。。。然而