你如何在Python中继承Queue

时间:2011-07-15 23:01:49

标签: python queue python-2.7

当我继承队列时,我收到错误:

super(domainQueue,self).__init__()
TypeError: must be type, not classobj

当我读到它时,关于经典类等的事情。

如何初始化基本队列类?

2 个答案:

答案 0 :(得分:3)

Queue.Queue是一个旧式类,因此它不支持新式类的许多功能(例如super)。您有两种选择,可以按照TorelTwiddler的回答明确调用Queue.Queue,或者将object添加到基数:

class myQueue(Queue.Queue, object):
    def __init__(self):
        super(myQueue, self).__init__()

答案 1 :(得分:1)

要简单地使用它,请改用Queue.__init__(self)

class myQueue(Queue.Queue):
    def __init__(self):
        Queue.Queue.__init__(self)

为什么它会返回classobj而不是type?不知道。