2. 编写程序,实现一个学生类Student,实现如下功能: 1)初始化学生的姓名(name)、学号(sid)和成绩(score)三个私有实例变量; 2)定义成员函数showinfo,能够显示学生的基本信息; 3)定义属性score,能修改学生的成绩。
时间: 2024-06-01 22:12:46 浏览: 131
非常好,我明白了你的要求。为了实现这个学生类,我们可以按照以下方式编写代码:
class Student:
def __init__(self, name, sid, score):
self.__name = name
self.__sid = sid
self.__score = score
def showinfo(self):
print("姓名:{0},学号:{1},成绩:{2}".format(self.__name, self.__sid, self.__score))
@property
def score(self):
return self.__score
@score.setter
def score(self, new_score):
self.__score = new_score
这个程序定义了一个学生类,具有三个私有实例变量:姓名、学号和成绩。它还定义了一个成员函数showinfo,用于显示学生的基本信息,以及一个属性score,可以用来修改学生的成绩。
对于score属性,我们使用了@property装饰器,这意味着我们可以像访问实例变量一样访问它,例如stu.score。我们还定义了一个setter方法,可以使用@score.setter装饰器来更新成绩属性。
现在,让我们来创建一个学生实例,并测试我们的学生类。
stu = Student("小明", 1001, 90)
stu.showinfo()
print("修改前的成绩:", stu.score)
stu.score = 95
print("修改后的成绩:", stu.score)
输出如下:
姓名:小明,学号:1001,成绩:90
修改前的成绩: 90
修改后的成绩: 95
看起来一切都很好,我们的学生类已经可以正常工作了。
阅读全文