[是否有记载的理由将union
和intersection
从abc.Set
的定义方法中排除,从而从typing.AbstractSet
中排除?结果,我经常不得不在希望能够使用Union[Set,FrozenSet]
的地方使用AbstractSet
。考虑到docs建议优先选择AbstractSet
作为参数类型注释,这尤其令人困惑。
PEP 3119定义抽象基类。
总体设计目标是“ ABC定义一组建立类型特征行为的方法。基于对象的ABC类型区分对象的代码可以相信这些方法将一直存在。” 最小化 abc.Set