Python队列模块难度大

时间:2013-07-24 15:45:32

标签: python queue

我是一名经验丰富的程序员,但对Python来说却是全新的。 我已经解决了大部分困难,但我无法让队列模块工作。 任何帮助感激不尽。 Python 3.2。

降低到基本最低值,问题在于:

>>>import queue
>>>q = queue.Queue
>>>q.qsize()
Traceback:
...
   q.qsize()
...
TypeError: qsize() takes 1 argument exactly (0 given)

文档...

7.8.1。队列对象

队列对象(Queue,LifoQueue或PriorityQueue)提供下面描述的公共方法。

Queue.qsize()


好的 - 什么论点......?

2 个答案:

答案 0 :(得分:5)

您没有初始化实例,只是将类名重新分配给q。它所讨论的“论据”是self,所有Python方法都需要的显式自引用。换句话说,它是说你试图调用没有实例的实例方法。

>>> q = queue.Queue()
>>> q.qsize()

如果您从未见过Python方法定义,它看起来像这样:

class Queue(object):
    # Note the explicit 'self' argument
    def qsize(self):
        # ...

答案 1 :(得分:1)

您只是重命名queue.Queue而不是实例化对象。

试试这个

q = queue.Queue()
print q.qsize()