python程序问题

请教下,下面的程序41行返回缺少参数是怎么回事?queue.put(i)TypeError:put()missing1requiredpositionalargument... 请教下,下面的程序41行返回缺少参数是怎么回事?
queue.put( i )
TypeError: put() missing 1 required positional argument: 'item'

import threading
import queue
import time

queue = queue.Queue

class Producer( threading.Thread ):
def __init__( self ):
threading.Thread.__init__( self )
self.queue = queue

def run( self ):
for i in range( 100 ):
while True:
if queue.qsize() > 10:
pass
else:
queue.put( i )
print( "put {0}".format( i ) )

time.sleep( 1 )

class Customer( threading.Thread ):
def __init__( self ):
threading.Thread.__init__( self )
self.queue = queue

def run( self ):
for i in range( 10 ):
while True:
for i in range( 50 ):
if queue.qsize() < 5:
pass
else:
queue.get()
print( "get {0}".format( i ) )
time.sleep( 1 )

if __name__ == '__main__':
for i in range( 5 ):
queue.put( i )

for i in range( 2 ):
Producer( queue ).start()

for i in range( 5 ):
Customer( queue ).start()

queue.join()
展开
 我来答
apple哲皓
高粉答主

2018-01-05 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:200
采纳率:100%
帮助的人:5.4万
展开全部

很明显的参数类型错误啊,put只能take一个Queue instance,你给了个int当然要报错。改为__init__(self,queue):self.queue=queue。

Python是一种面向对象、直译式计算机程序设计语言,由荷兰人Guido van Rossum发明于1989年,1991年发行第一个公开发行版。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。

Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL协议。语法简洁清晰,特色之一是强制用空白符作为语句缩进。名字来源于一个喜剧,最初设计Python这种语言的人并没有想到Python会在工业和科研上获得如此广泛的使用。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式