实验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() )

实验总结
实验过程中基本能够懂得类与模块的使用。
类的好处主要有:方便复用(如果你用函数写,就要复制整块代码,增加了代码量,增加了出错率)
方便扩展(函数写段代码,若要升级、扩展,都十分复杂,容易出错,用类来扩展,则方便清晰)
方便维护(因为类是把抽象的东西映射成我们常见的,摸得到的东西,容易理解,维护也方便)
而模块能像包含函数定义一样,可包含一些可执行语句。这些可执行语句通常用来进行模块的初始化工作。这些语句只在模
块第一次被导入时被执行。
浙公网安备 33010602011771号