我试图继承 xrange
以启用整数列表的目标对象行为(可迭代和 in
运算符支持)。但是我收到以下错误消息:
TypeError: Error when calling the metaclass bases
type 'xrange' is not an acceptable base type
xrange
有什么特别之处?
此外,可能与该问题无关,我注意到 xrange
没有方法 __contains__
。对于in
操作,我的基础知识是,a in A
等价于A.contains(a)。我错了吗,还是 xrange
有什么不同?
我不知道是否应该将这些作为两个单独的问题粘贴。提前道歉。
最佳答案
xrange
是 implemented in C .正如您在 Tim Peters' post 中看到的那样,应该有一个令人信服的用例,以证明允许对其进行子类化所需的额外努力是合理的。
关于python - xrange 在 Python 中不可继承的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22098099/