为什么AbstractSet不包括并集和交集?

问题描述 投票:2回答:1

[是否有记载的理由将unionintersectionabc.Set的定义方法中排除,从而从typing.AbstractSet中排除?结果,我经常不得不在希望能够使用Union[Set,FrozenSet]的地方使用AbstractSet。考虑到docs建议优先选择AbstractSet作为参数类型注释,这尤其令人困惑。

python python-3.x set abstract-class typing
1个回答
0
投票

权威来源

PEP 3119定义抽象基类。

总体设计目标是“ ABC定义一组建立类型特征行为的方法。基于对象的ABC类型区分对象的代码可以相信这些方法将一直存在。” 最小化

abc.Set

API的特定原理仅在传递中提及,“不支持在Python 2的集合类型上找到的issubset和issuperset方法,因为这些大多只是__le__和__ge__的别名。 ”和“此ABC不提供内置混凝土集合类型上存在的(几乎)执行相同操作的命名方法。”

© www.soinside.com 2019 - 2024. All rights reserved.