You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向employeeName和employeeSalary队列push值时遇'function' object has no attribute 'push'错误求助

解决'function' object has no attribute 'push'队列操作错误

嘿,这个问题我帮不少开发者排查过,咱们直接说最可能的两个原因,分分钟解决:

  • 你把队列类当成了实例来用
    很多新手容易犯这个错:比如用Python标准库的queue.Queue时,只写了employeeName = queue.Queue(这里Queue是类本身,属于函数对象),而没有加括号创建实例employeeName = queue.Queue()。类本身是没有push方法的,只有实例才有对应的队列操作方法。

  • 用错了队列的入队方法名
    不同语言/库的队列方法名不一样:比如Java里常用push,但Python的queue模块里,入队的正确方法是put(),不是push()。如果你硬要调用push,自然会触发属性不存在的错误。

给你一个正确的示例代码参考:

import queue

# 先创建队列实例
employeeName = queue.Queue()
employeeSalary = queue.Queue()

# 使用put()方法添加元素
employeeName.put("John Doe")
employeeSalary.put(75000)

如果是用collections.deque(另一种常用的队列实现),它的入队方法是append()(队尾添加)或者appendleft()(队头添加),同样没有push方法:

from collections import deque

employeeName = deque()
employeeName.append("Jane Smith")  # 相当于往队尾"push"元素

你可以对照检查一下自己的代码,大概率是这两个原因中的一个~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:12:48