2

私は経験豊富なプログラマーですが、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 オブジェクト (Queue、LifoQueue、または PriorityQueue) は、以下で説明する public メソッドを提供します。

Queue.qsize()


OK - 何の引数.... ?

4

2 に答える 2

5

インスタンスを初期化しているのではなく、クラス名を に再割り当てしているだけですq。それが話している「引数」はself、すべての Python メソッドが必要とする明示的な自己参照です。つまり、インスタンスを持たないインスタンス メソッドを呼び出そうとしていることになります。

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

Python メソッド定義を見たことがない場合は、次のようになります。

class Queue(object):
    # Note the explicit 'self' argument
    def qsize(self):
        # ...
于 2013-07-24T15:47:15.920 に答える
1

queue.Queueオブジェクトをインスタンス化するのではなく、名前を変更するだけです。

これを試して

q = queue.Queue()
print q.qsize()
于 2013-07-24T15:49:30.387 に答える