简单来说,我想要的是tuple一个或两个额外的方法。__new__或者__init__不会被修改。
我想创建一个抽象基类,它是collections.abc.Sequence. 然后我想将它用于基本上是一个tuple子类。类图类似于:
collections.abc.Sequence
/ \
/ \
/ \
MyABC tuple
\ /
\ /
\ /
MyClass
原因:
MyABC定义了一些自定义接口。它在那里,所以第三方不会被迫子类化MyClass。tuple需要它的性能和已经实现的方法。
问题:
- 惯用的方式只是写
class MyClass(MyABC, tuple)还是我应该玩寄存器? - 我还有其他明显的问题吗?
- 是否会因为子类化而失去空间和性能优势
tuple?