面向对象的思想:
1.用类方法,操作类变量
2.给别人一系列方法,去操作变量
3.执行程序尽可能不用类变量和实例变量。用方法去操作
练习:
要求:
1.创建一个Student类
2.列表存储;‘name’,‘age’,'score’三个信息
3.能够统计学生总数
4.能够删除,或者添加学生
5.能够计算平均分
输出:
1.学生信息
2.平均分
3.学生数量
class Student:
count = 0 #此类变量用于统计学生的个数
info_list = [] #此类变量用于存储学生的信息
sum = 0 #此类变量用于计算学生的总分
def __init__(self, name, age, score):
self.name = name
self.age = age
self.score = score
self.dict_save = {'name':name,'age':age,'score':score} #用一个字典,存储三个信息
Student.count += 1 #计数+1
Student.info_list.append(self.dict_save) #把字典添加进列表
Student.sum += self.score #总分相加
def __del__(self):
Student.count -=1 #计数-1
Student.info_list.remove(self.dict_save) #移除信息
Student.sum -= self.score #减去总分
@classmethod
def getTotalCount(cls):
'''此方法用来得到学生的个数'''
return cls.count
@classmethod
def getScoreAverage(cls):
'''此方法用来得到学生的平均成绩'''
average = cls.sum / cls.count
return average
@classmethod
def getInfo(cls):
'''此方法用来得到学生的信息'''
return cls.info_list
s1 = Student('张', '15', 56)
s2 = Student('李', '22', 66)
s3 = Student('钱', '31', 76)
del s1
print(Student.getTotalCount())
print(Student.getScoreAverage())
print(Student.getInfo())