类型错误:'builtin_function_or_method' 对象不可下标访问

58 投票
9 回答
472551 浏览
提问于 2025-04-17 07:22
elif(listb[0] == "-test"):
    run_all.set("testview")
    listb.pop[0]

错误:在Tkinter回调中出现异常,追踪信息(最近的调用在最前面):文件 "/tools/python/2.7.2/lib/python2.7/lib-tk/Tkinter.py",第1410行,在 call 中返回 self.func(*args) 文件 "./edit.py",第581行,在 populate 中 listb.pop[0] 类型错误:'builtin_function_or_method' 对象不可下标访问

第581行是上面代码中最后一个pop语句的地方。run_all是一个StringVar。

我为什么会遇到这个错误,应该怎么解决呢?

9 个回答

10

与其写 listb.pop[0],不如这样写:

listb.pop()[0]
         ^
         |
49

看起来你不小心输入了方括号,而不是圆括号。

68

我觉得你想要的是

listb.pop()[0]

这个表达式 listb.pop 是一个有效的 Python 表达式,它会给你一个指向 pop 方法的引用,但并不会真正执行这个方法。你需要加上开括号和闭括号才能调用这个方法。

撰写回答