You need to enable JavaScript to run this app. Python threading创建线程传参报参数数量不匹配错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Python threading创建线程传参报参数数量不匹配错误如何解决

错误成因

threading.Thread的args参数要求传入目标函数的位置参数序列,Python会遍历该序列,将每一个元素作为独立的位置参数依次传递给target指定的函数。

你代码中直接将字符串"hello"赋值给args,而字符串本身是可迭代对象,Python会自动将其拆分为单个字符组成的序列('h','e','l','l','o'),相当于你给test函数传入了5个独立的位置参数,和test函数定义的1个入参不匹配,因此触发类型错误。
你替换为单个字符"A"时能正常运行,是因为长度为1的字符串拆分后仅1个元素,刚好匹配test的入参数量,但此时传入test的实际是字符'A'而非完整字符串对象,只是二者值一致才没有暴露逻辑问题。

解决方法

将args的赋值改为合法的单元素序列即可,可选两种写法:

  • 写法1:使用元组(注意单元素元组必须加末尾的逗号,否则括号会被识别为普通运算括号,不生成元组)
threading.Thread(target = test, args = ("hello",)).start()
  • 写法2:使用列表(无额外语法要求,更不容易写错)
threading.Thread(target = test, args = ["hello"]).start()

内容的提问来源于stack exchange,提问作者Phil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 07:15:00