class Student():
# 类属性
school = '希望小学'
def __init__(self, name, age, grade, score):
# 类的实例属性
self.age = age
# 类的私有属性
self.__name = name
self.__grade = grade
self.__score = score
# 私有属性的一种设置和获取方式,使用set和get方法
def set_grade(self, grade):
if grade < 0 or grade > 9:
print('年级设置不对')
else:
self.__grade = grade
def get_grade(self):
return self.__grade
# 类的只读属性
@property
def score(self):
return self.__score
@score.setter
def score(self, score):
if score > 750 or score < 0:
print('分数不正确')
else:
self.__score = score
def __str__(self):
return f'姓名: {self.__name}, 年龄: {self.age}, 年级: {self.__grade}, 成绩: {self.__score}'
# 类的静态属性
@staticmethod
def sum_score(score_list):
return sum(score_list)
s1 = Student('bob',17,4, 567)
print(s1)
s1.age = 21
print(s1)
# 修改私有属性的一种不推荐方式
s1._Student__name = 'michael'
print(s1)
s1.set_grade(12)
s1.set_grade(7)
print(s1)
s1.score = 876
s1.score = 645
print(s1)
print(s1.school)
# 调用静态属性
print(Student.sum_score([123, 233, 455]))
print(s1.sum_score([344, 423, 333]))
输出结果
姓名: bob, 年龄: 17, 年级: 4, 成绩: 567
姓名: bob, 年龄: 21, 年级: 4, 成绩: 567
姓名: michael, 年龄: 21, 年级: 4, 成绩: 567
年级设置不对
姓名: michael, 年龄: 21, 年级: 7, 成绩: 567
分数不正确
姓名: michael, 年龄: 21, 年级: 7, 成绩: 645
希望小学
811
1100