5、封装一个学生类Student,(自行分辨定义为类属性还是实例属性,方法定义为实例方法)
- 属性:身份(学生),姓名,年龄,性别,英语成绩,数学成绩,语文成绩,
- 方法一:计算总分,方法二:计算三科平均分,方法三:打印学生的个人信息:我的名字叫XXX,年龄:xxx, 性别:xxx。
实例化1个学生, 并打印学生个人信息,计算总分。
print('*********************************************************第五题**********************************************************************')
print(**********************第一种方法*****************************************)
class Student: # 定义一个学生类名
def __init__(self,student,name,age,gender,English_results,math_results,chinese_results): # 初始化参数7个实例属性
self.student = student # 具体参数名
self.name = name # 具体参数名
self.age = age # 具体参数名
self.gender = gender # 具体参数名
self.English_results = English_results # 具体参数名
self.math_results = math_results # 具体参数名
self.chinese_results = chinese_results # 具体参数名
# 计算总分 -方法1
def sum_score(self): # 类方法使用函数
return self.English_results + self.math_results + self.chinese_results # 返回3科成绩的总值
# 计算三科平均分 -方法2
def average_score(self): # 类方法使用函数
return (self.English_results + self.math_results + self.chinese_results) / 3 # 返回3科成绩的平均分
# 打印学生的个人信息:我的名字叫XXX,年龄:xxx, 性别:xxx -方法3
def personal_info(self): # 类方法使用函数
print('我的身份是:{},我的名字叫:{},年龄:{},性别是:{},英语成绩是:{},数学成绩是:{},语文成绩是:{},总成绩是:{},平均成绩是:{:.2f}'.
format(self.student,self.name,self.age,self.gender,self.English_results,self.math_results,
self.chinese_results,member.sum_score(),member.average_score())) # 打印个人信息,使用函数
# 进行实例化,调用__init__ 有7个参数,在实例化的时候就给7个参数
member = Student('学生','魏魏',20,'男',97,57,60) # member就是Studer类的一个对象 self 就是member
member.personal_info() # 调用对象(member)来访问类属性(personal_info)
print(**********************第二种方法*****************************************)
class Student: # 定义一个类
student = '学生' # 定义一个类属性-学生
def __init__(self,name,age,gender,English_results,math_results,chiese_results): # 初始化实例属性
self.name = name # 定义实例属性-姓名
self.age = age # 定义实例属性-年龄
self.gender = gender # 定义实例属性-性别
self.English_results = English_results # 定义实例属性-英语成绩
self.math_results = math_results # 定义实例属性-数学成绩
self.chiese_results = chiese_results # 定义实例属性-语文成绩
# 方法一:计算总分--实例方法
def sum_score(self):
total_score = self.English_results + self.math_results + self.chiese_results
print('我的总分是:{}'.format(total_score))
# 方法二:计算三科平均分--实例方法
def average_score(self):
ave = (self.English_results + self.math_results + self.chiese_results) / 3
print('我的三科平均分是:{}'.format(ave))
# 方法三:打印学生的个人信息:我的名字叫XXX,年龄:xxx, 性别:xxx--实例方法
def personal_info(self):
print('我的个人信息:我的名字叫:{},年龄是:{},性别是:{}'.format(self.name,self.age,self.gender))
# 实例化1个学生, 并打印学生个人信息,计算总分。
# 进行实例化,调用__init__ 有6个实例属性,在实例化的时候就给6个属性
member = Student('魏魏','25','男',90,85,86)
member.personal_info() # 对象名(member)调用实例方法(personal_info),给出执行
member.sum_score() # 对象名(member)调用实例方法(sum_score),给出执行
member.average_score() # 对象名(member)调用实例方法(average_score),给出执行
运行结果如下: