python面向对象课程大作业 定义一个描述学生基本情况的类,数据成员至少包括 “姓名、性别、学号、年级、所在院系、面向对象的考试日期”

python面向对象课程大作业

按下列要求编写一个完整的程序:
定义一个描述学生基本情况的类,数据成员至少包括“姓名、性别、学号、年级、所在院系、面向对象的考试日期”,成员函数至少包括构造函数,析构函数,输出函数:构造函数用于对数据成员初始化,且要有输出信息,比如调用了构造函数”,析构函数也要有输出信息,比如“调用了析构函数”,输出函数用于实现各数据的输出。使用上述定义的类为基类,另定义一个派生类,计算考试时间“和“入学时间”的差。在派生类中,增加数据成员描述入学时间,增加几个成员函数,用来计算“考试时间”和“入学时间”的差及输出结果(学号用8位数字表示,如05083501,时间用8位数字表示,形式如20071205)。设计主函数,在主函数里创建类的对象,用你自己的真实信息(“姓名、学号、年级、所在院系、面向对象的考试日期”) 初始化该对象,调用输出数据的成员承数,实现输出你的真实信息及其它计算结果。

class student:#基类
    def __init__(self,name,sex,sid,grade,college,exam_data):#构造函数
        print('调用了构造函数')
        self.name=name#姓名
        self.sex=sex#性别
        self.sid=sid#学号
        self.grade=grade#年级
        self.college=college#院系
        self.exam_data=exam_data#面向对象的考试日期
    def __del__(self):#析构函数
        print('调用了析构函数')
    def myPrint(self):#输出函数
        print('调用了输出函数')
        print('姓名:',self.name)
        print('性别:',self.sex)
        print('学号:',self.sid)
        print('年级:',self.grade)
        print('院系:',self.college)
        print('面向对象的考试时间:',self.exam_data)
class diff_Date(student):#派生类,求考试时间和入学时间的差
    def __init__(self,name,sex,sid,grade,college,exam_data):
        print('调用了派生类的构造函数')
        super(diff_Date,self).__init__(name,sex,sid,grade,college,exam_data)
        self.enroll_data=20210901#入学时间
    def print_diff(self):#输出考试时间和入学时间的差
        print('输出考试时间和入学时间的差为',self.exam_data-self.enroll_data)
def main(name,sex,sid,grade,college,exam_data):#主函数
    student_1=diff_Date(name,sex,sid,grade,college,exam_data)
    student_1.myPrint()
    student_1.print_diff()
main(name='帽子屋先生',sex='男',sid=20220704,grade='大一',college='计算机学院',exam_data=20220804)

输出结果如下所示
在这里插入图片描述

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值