Python-面向对象-封装

封装一个学生类Student,(自行分辨定义为类属性还是实例属性,方法定义为实例属性)
属性:身份(学生),姓名,年龄,性别,英语成绩,数学成绩,语文成绩
方法一:计算总分
方法二:计算三科平均分
方法三:打印学生个人信息:我的名字叫##,年龄##,性别##
#身份是共有的属性,所以属于类变量
class Student:
    shenfen='student'
    def __init__(self,name,age,sex,yycj,sxcj,ywcj):
        self.name=name
        self.age=age
        self.sex=sex
        self.yycj=yycj
        self.sxcj=sxcj
        self.ywcj=ywcj
        self.zf=0#self.zf=None
    def total(self):
        self.zf=self.yycj+self.ywcj+self.sxcj
        print('总成绩为%d'%self.zf)
        return
    def avg(self):
        pingjun=self.zf/3
        print('平均成绩为%.2f'%(self.zf/3))
    def dayin(self):
        print('我的名字叫%s,年龄%s,性别%s'%(self.name,self.sex,self.sex))
a=Student('zhangsan',18,'',67,89,90)
a.total()
a.avg()
a.dayin()
class Student:
    identity='xuesheng'
    def __init__(self,name,age,sex,yuwencj,shuxuecj,yingyucj):

        self.name=name
        self.age=age
        self.sex=sex
        self.yuwencj=yuwencj
        self.shuxuecj=shuxuecj
        self.yingyucj=yingyucj
        self.zongfen = None
    def total(self):

        self.zongfen=self.yuwencj+self.shuxuecj+self.yingyucj
        # print('%s名字叫%s的总分是%d'% (self.identity, self.name,self.zongfen))
        return self.zongfen

    def pingjun(self):
        # print('平均成绩',self.total()/3)
        print('平均成绩%.2f'%(self.total()/3))
a=Student('zhangsan',18,'',59,79,78.5)
a.total()
print(a.zongfen)#print(a.total())
a.pingjun()

 

posted @ 2022-04-17 10:30  认知迭代  阅读(102)  评论(0)    收藏  举报