【问题标题】:Reason why xrange is not inheritable in Python?为什么 xrange 在 Python 中不可继承?
【发布时间】:2014-04-01 15:05:13
【问题描述】:

我试图继承 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 有什么不同?

我不知道是否应该将它们粘贴为两个单独的问题。提前道歉。

【问题讨论】:

标签: python xrange


【解决方案1】:

xrangeimplemented in C。正如您在Tim Peters' post 中看到的那样,应该有一个令人信服的用例,以证明允许对其进行子类化所需的额外努力。

【讨论】:

    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 2010-12-06
    • 2014-06-09
    • 2012-05-27
    • 2012-05-17
    • 1970-01-01
    • 2011-04-30
    相关资源
    最近更新 更多