2011-07-15 35 views
2

继承队列时,我继承队列我得到一个错误:你如何在Python

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

,当我读了它,东西长约经典类等

如何初始化基队列类?

回答

2

Queue.Queue是一种旧式的类,因此它不支持新式类的许多功能(如super)。你有两个选择,显式调用Queue.Queue在TorelTwiddler的回答表明,或object添加到基地:

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

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

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

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

+0

当我使用__init__函数失败不会有一个初始化函数 –

+0

尽我放在编辑。 – TorelTwiddler