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

Python报错TypeError: str object is not callable,求代码排查解决

TypeError: str object is not callable 错误排查与解决

错误原因

你的Question类中,question_prompt是字符串类型的实例属性,但主文件里却用了函数调用的语法question.question_prompt()(末尾加了括号)——这相当于试图把字符串当作函数执行,直接触发了str object is not callable错误。

解决方法

两种修复方案任选其一即可:

方案1:修改主文件的调用逻辑

既然question_prompt是字符串属性,直接访问它就行,去掉末尾的括号:

# 主文件循环部分修改为:
for question in questions:
    print(question.question_prompt)  # 去掉括号,直接访问字符串属性
    answer = input("Answer: ")
    if answer == question.answer:
        score += 1

方案2:将question_prompt改为类方法(适合后续扩展)

如果需要让question_prompt成为可调用的方法(比如后续要动态生成题目内容),可以修改Question类:

# Question.py 修改为:
class Question:
    def __init__(self, question_prompt, answer):
        self._question_prompt = question_prompt  # 用下划线标记为内部属性
        self.answer = answer
    
    def question_prompt(self):
        return self._question_prompt  # 定义方法返回提示文本

这种情况下,主文件原有的print(question.question_prompt())代码无需修改即可正常运行。

另外,主文件里的题目存在两处拼写错误:How man seconds和How man milliseconds,建议改成How many,避免题目出现语法问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 10:27:44