5-5编程练习 我这样实现是否符合练习要求?

来源:5-5 编程练习

疾风KANA

2022-03-22 19:29:51

问题描述:

老师,我这样做符合题目要求吗?帮我看一下,这个我改了很多次才实现的,目前心里没底。

相关代码:

# coding:utf-8


class Person(object):
    # 重写实例对象的构造(初始化)方法 
    def __init__(self, *args, **kwargs):
        # print('重写实例对象的构造(初始化)方法 {}'.format(args))
        self.name = args[0][0]
        self.gender = args[0][1]
        # print("++++++++++++++")
        # self.speak()
        # print('-----------')
    # 自定义实例方法,格式化打印实例属性name的值
    def speak(self):
        print('hello!我是{}'.format(self.name))
    # 自定义实例方法,占位作用 
    def relation():
        pass


class Student(Person):

    # 重写实例对象的构造(初始化)方法,并调用父类构造方法,实现对实例属性的赋值
    def __init__(self, *args, **kwargs):
        # print('重写实例对象的构造(初始化)方法,并调用父类构造方法,实现对实例属性的赋值 {}'.format(args))
        super().__init__(args[:2])
        super().speak()
        self.score = args[2]
        self.major = args[3]
        self.__stu_num = 2018014002
    # 自定义实例方法,格式化打印实例属性stu_num的值
    def speak(self):
        # print('hello!我是{}'.format(self.name))
        print('我的学号为{},很高心认识大家'.format(self.__stu_num))
    # 自定义实例方法,判断学号是否为既定值,并根据判断结构 进行分类打印 
    def identify_stu(self):
        if self.__stu_num == 2018014002:
            print('我的分组已完成')
        else:
            print('请稍等,马上为你分组')
    # 自定义实例方法,设置实例对象的学号为传入的值
    def set_num(self, new_num):
        self.__stu_num = new_num
    # 自定义实例方法,判断该类是否为Person类的子类,并进行分类打印
    def relation(self, obj, class_base):
        if isinstance(obj, class_base):
            print('我的父类是Person')
        else:
            print('弗雷正在查询中')
           
if __name__ == '__main__':
    stu = Student('小明', '男', 90, '数学')
    # 调用speak方法 打印stu对应的值
    stu.speak()
    # 调用实例方法 鉴别学号是否为指定值
    stu.identify_stu()
    # 调用实例方法 鉴别实例对象所属的类的父类是否为Person
    stu.relation(stu, Person)
    print("******************")
    stu_2 = Student('小红', '女', 89, '英语')
    # 调用实例方法 设置stu_2的学号为'2018040625'
    stu_2.set_num(2018040625)
    # 调用实例方法 打印stu_2对应的值
    stu_2.speak()
    # 调用实例方法 鉴别学号是否为指定值
    stu_2.identify_stu()


写回答

1回答

好帮手慕凡

2022-03-23

同学,你好!

代码符合要求,完成的很不错,祝学习愉快~

0

0 学习 · 4469 问题

查看课程