Python触发TypeError: 'int' object is not callable错误如何解决
报错原因
odometer_reading是Car类的实例属性,类型为整数,不属于可调用的函数/方法,你在末尾加了()将其作为方法调用,违反Python语法规则,因此触发该类型错误。
两种可选解决方案
- 方案一:仅读取属性值,直接去掉调用时的括号即可
将最后一行代码修改为:# 如需打印数值可以加print包裹 print(my_car.odometer_reading) - 方案二:保留原调用写法,调整类的实现逻辑
将属性改为私有变量,新增同名方法返回里程数值,修改后的完整代码如下:class Car: def __init__(self,made,module,year): self.made=made self.module=module self.year=year self._odometer_reading=0 def update_odometer(self,mileage): self._odometer_reading = mileage # 新增同名方法 def odometer_reading(self): return self._odometer_reading my_car=Car('audio','q5','2021') my_car.update_odometer(23) my_car.odometer_reading()
内容的提问来源于stack exchange,提问作者Bilal Majidi
相关产品推荐
相关产品推荐

