如何解决Python运行时报'str object is not callable'不可调用错误
问题根因
你的operations字典的值存储的是函数名字符串,而非可调用的函数对象,因此取出值后尝试加括号传参调用时,就会抛出'str' object is not callable报错。
修复方案
仅需修改operations字典的定义,把值外面的引号去掉,直接存储函数引用即可:
# 修改前(错误写法) operations = { "+": "add", "-": "subtract", "*": "multiply", "/": "divide" } # 修改后(正确写法) operations = { "+": add, "-": subtract, "*": multiply, "/": divide }
补充说明
Python中函数是第一类对象,可直接作为值存入字典、列表等结构中。去掉引号后字典中存储的就是你前文定义的四则运算函数本身,取出后即可正常传入参数调用。
内容的提问来源于stack exchange,提问作者noideahowtocode
相关产品推荐
相关产品推荐

