Python类中innerMethod方法无法执行的问题求助
问题分析与修复方案
你的代码里innerMethod无法执行有两个核心问题:
实例方法缺少
self参数
Python类的实例方法必须把self作为第一个参数(代表实例本身),否则无法通过实例对象绑定调用。你定义的innerMethod没有加self参数,这会导致调用时无法正确关联到实例。方法调用未加括号
在calculate_area方法里,你写的self.innerMethod只是引用了这个方法的对象,并没有真正执行它。必须加上括号self.innerMethod()才会触发方法运行,执行里面的print语句。
修复后的完整代码:
# 创建类 class Room: length = 0.0 breadth = 0.0 # 计算面积的方法 def calculate_area(self): print("Area of Room =", self.length * self.breadth) self.innerMethod() # 加括号执行方法 def innerMethod(self): # 添加self参数 print("testing") # 创建Room类的对象 study_room = Room() # 为所有属性赋值 study_room.length = 42.5 study_room.breadth = 30.8 # 调用类内方法 study_room.calculate_area()
运行这段代码后,会先输出面积,然后打印testing,innerMethod就能正常执行了。
内容的提问来源于stack exchange,提问作者PruitIgoe
相关产品推荐
相关产品推荐

