TypeError: put() missing 1 required positional argument: ‘item‘问题分析

本文分析了Python中遇到的`TypeError: put() missing 1 required positional argument: 'item'`错误,主要讨论了两种可能的原因:1. 在`__init__`方法中初始化Queue时忘记加括号;2. 定义函数时参数传递不匹配。为了解决问题,需要确保正确使用括号来传递参数,并根据函数源码要求提供正确的参数数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

博主在练习带参数线程池的时候遇到了如下报错:

翻译过来,就是缺少位置参数。

二、错误1

如果此时你的代码高亮是这样:

解决办法:在init魔法方法下的Queue没有加括号,即

self.q = Queue()

、错误2

当然,错误1纯属是博主粗心大意造成的。如果你的问题不在这里,那我们就需要看一看代码中进行位置参数设置的部分:

如果这些进行传参的地方不对应,即设置了定长参数和不定长参数,却在传参的时候少传了,就会出现缺少位置参数的情况。

这里面还有一个必须要注意的地方,就是我们定义put_q函数的时候,必须要把传的3个参数用括号括起来,定义成一个元组。

这是因为编写的put函数的源码规定只能传一个item:

如果传参数量不对应就会出现高亮显示:

end....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值