1 引言
在Python中面向对象最重要的概念就是类和实例,类是抽象的模板(class)
而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。
定义类是通过class关键字,class后面紧接着类名,类名通常是大写开头的单词;因为类可以有模板的效果,所以在创建实例的时候需要把绑定的属性强制填进去,通过定义一个__init__来绑定,除此以外,还需要进行数据封装见一下的实例。
2 问题描述
编写程序,创建三个学生类,有姓名,有年龄,有性别,有英语成绩,数学成绩,语文成绩,封装方法,求总分,平均分。
3 算法描述
类和实例第一步将其属性编写出来,利用关键字class进行定义
Student(object)再后来利用初始化__init__绑定要添加的属性,在初始化中,只需要填,如self.name=name类似,最后在定义一个get_information(self)打印出来就行。
4 结语
本课题主要是探讨了类和属性与数据封装党的简单操作,类是创建实例的模板,而实例是一个具体的对象,各个实例拥有的数据都相互独立,互不影响,方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据,通过对实例的调用直接操作对象内部的数据。
附件
class Student(): def __init__(self,name,age,sex,english,math,chinese): self.name=name self.age=age self.sex=sex self.english=english self.math=math self.chinese=chinese def add(self): return self.english + self.math + self.chinese def average(self): return self.add()/3 def get_information(self): print("name:%s,age:%d,sex:%s,总分:%d,平均分:%d" % (self.name,self.age,self.sex,self.add(),self.average())) Bob = Student("Bob",18,"男",80,80,80) Bob.get_information() class Student(): def __init__(self,name,age,sex,english,math,chinese): self.name=name self.age=age self.sex=sex self.english=english self.math=math self.chinese=chinese def add(self): return self.english + self.math + self.chinese def average(self): return self.add()/3 def get_information(self): print("name:%s,age:%d,sex:%s,总分:%d,平均分:%d" % (self.name,self.age,self.sex,self.add(),self.average())) Leo = Student("Leo",18,"男",80,90,87) Leo.get_information() class Student(): def __init__(self,name,age,sex,english,math,chinese): self.name=name self.age=age self.sex=sex self.english=english self.math=math self.chinese=chinese def add(self): return self.english + self.math + self.chinese def average(self): return self.add()/3 def get_information(self): print("name:%s,age:%d,sex:%s,总分:%d,平均分:%d" % (self.name,self.age,self.sex,self.add(),self.average())) Kian = Student("Kian",18,"女",90,80,94) Kian.get_information()