实验5
task5.py ''' 学生档案管理 数据(属性):学号、姓名、专业、python课程分数 操作(方法):打印学生信息、返回课程分数、修改课程分数 ''' class StudentDoc: '''学生档案管理''' def __init__(self, student_number, name, major, python_score): self._student_number = student_number self._name = name self._major = major self._python_score = python_score def info(self): #打印学生信息 print(f'学号: {self._student_number}, 姓名: {self._name}, 专业: {self._major}, python课程分数: {self._python_score}') def score(self): #返回课程分数 return self._python_score def modify(self, new_score): #修改课程分数 self._python_score = new_score return new_score #测试类 def main(): s1 = StudentDoc(20020821, 'Tony', 'art major', 95) s1.info() print(s1.score()) s1.modify(91) print(s1.score()) if __name__ =='__main__': #如果模块名是'__main__'就执行 print('模块信息: ', __doc__) print('StudentDoc类信息: ', StudentDoc.__doc__) main()
task5.py from student import StudentDoc s1 = StudentDoc('20020821', 'Tony', 'art major', '95') s2 = StudentDoc('19950825', 'Evan', 'computer major', '92') s1.info() s2.info() s1.modify(89) s2.modify(88) print(s1.score() ) print(s2.score() )
实验总结
实验过程中基本能够懂得类与模块的使用。
类的好处主要有:方便复用(如果你用函数写,就要复制整块代码,增加了代码量,增加了出错率)
方便扩展(函数写段代码,若要升级、扩展,都十分复杂,容易出错,用类来扩展,则方便清晰)
方便维护(因为类是把抽象的东西映射成我们常见的,摸得到的东西,容易理解,维护也方便)
而模块能像包含函数定义一样,可包含一些可执行语句。这些可执行语句通常用来进行模块的初始化工作。这些语句只在模
块第一次被导入时被执行。