Python新手编写Student类运行仅显示RESTART,请求排查问题原因
问题修复方案
核心问题排查
- 运行无输出的根本原因:你仅完成了
Student类的定义,没有编写实例化类、调用类方法的执行代码。Python运行时不会主动执行类内部的逻辑,所以只会显示IDLE默认的=RESTART运行提示,和文件保存方式、运行环境无关。 - 类方法逻辑错误:你写的
displayStudentInfo方法存在设计问题,不需要在方法内部重新创建Student实例,应该直接通过self关键字访问当前实例自身的属性。同时原有代码中用+拼接字符串和数字类型的roll_no会触发类型报错,需要调整输出写法。
修复后可直接运行的代码
class Student: def __init__(self, studentName, roll_no): self.studentName = studentName self.roll_no = roll_no def displayStudentInfo(self): # 直接通过self访问当前实例的属性 print("name is: ", self.studentName, "roll number is:", self.roll_no) # 执行逻辑:实例化类并调用方法 if __name__ == "__main__": std = Student("John", 2) std.displayStudentInfo()
替换原有代码后保存运行即可得到正常输出。
内容的提问来源于stack exchange,提问作者Lulu Boto
相关产品推荐
相关产品推荐

