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