python - 为什么 AbstractSet 不包含并集和交集?
问题描述
是否有记录的理由将其排除在定义方法之外union
并因此排除在外?结果,我经常不得不在我期望能够使用的地方使用. 鉴于文档建议优先考虑参数类型注释,这尤其令人费解。intersection
abc.Set
typing.AbstractSet
Union[Set,FrozenSet]
AbstractSet
AbstractSet
解决方案
权威来源
PEP 3119定义了抽象基类。
总体设计目标是“ABC 定义了一组最小的方法,用于建立类型的特征行为。根据 ABC 类型区分对象的代码可以相信这些方法将始终存在。”
最小abc.Set API的具体原理只是顺便提及,“Python 2 中集合类型上的 issubset 和 issuperset 方法不受支持,因为它们大多只是 __le__ 和 __ge__ 的别名”,以及“这个 ABC不提供执行(几乎)相同操作的内置具体集合类型上的命名方法。”
推荐阅读
- ios - 应用程序在 ios14 中未收到后台通知信号
- .net-core - HttpGet 与三个关系表与 dot net core web api
- cypress - 如何使用 cy.readfile() 从 Cypress 中的 JSON 文件中读取测试数据并使其在测试中可用
- flutter - 在下拉菜单颤动中显示来自 API 的数据的问题
- c# - FireBaseAdmin 与 Asp.net Core 发送图像通知
- ffmpeg - Netflix / vmaf 结果代表什么?
- python - Django:为相关模型的字段提供计数
- bootstrap-4 - 如何在引导程序中彼此相邻显示汉堡菜单项?
- c# - 如何为鼠标悬停状态下的 CheckBox 的背景颜色设置条件?
- chart.js - 完全删除 0 值的条形图