Python collections.abc
模块包含许多方便的ABC,用于检查对象的各种功能,但似乎没有的是Callable
。没有标准集合可以调用,PEP 3119
没有提供任何推理甚至提及可调用ABC,那么为什么它在这个包而不是其他地方?
上下文: 我正在编写一个Python-> Java编译器以获得乐趣,我只是想知道决定背后是否有任何推理,所以我可以在我的代码中列出该推理。
答案 0 :(得分:1)
该模块源自PEP-3119,其建议:
要添加到集合模块的容器和迭代器的特定ABC。
但从那以后,它逐渐发展成为更多的东西。现在,模块描述没有明确提及包含器和迭代器。它说:
该模块提供了抽象基类,可用于测试类是否提供特定接口;例如,它是否可以清除或是否是映射。
我认为它只是一个collections
子模块,因为它是过去的一部分:
3.3版中的新功能:以前,此模块是集合模块的一部分。