分享

创建三个学生对象,分别打印其详细信息

 算法与编程之美 2022-05-22 发布于四川

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()

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约