不用定义Person 类里面relation实例方法,也正常打印,它的作用是什么

不用定义Person 类里面relation实例方法,也正常打印,它的作用是什么

我不用在Person 类里面定义的relation实例方法,也是正常打印出来,为什么要定义在Person 类里面relation实例方法,是不是需要优化http://img1.sycdn.imooc.com//climg/5df0831f090ad33b06120531.jpg

class Person(object):
   # 重写实例对象的构造(初始化)方法
   def __init__(self, name, gender):
       self.name = name
       self.sex = gender

   # 自定义实例方法,格式化打印实例属性name的值
   def speek(self):
       print("heello! 我是{}".format(self.name))

   # 自定义实例方法,占位作用
   def relation(self):
       pass


class Student(Person):

   # 重写实例对象的构造(初始化)方法,并调用父类构造方法,实现对实例属性的赋值
   def __init__(self, name, gender, score, magor, stu_num = None):
       super().__init__(name, gender)
       self.score = score
       self.major = magor
       self.__stu_num = stu_num

   # 自定义实例方法,格式化打印实例属性stu_num的值
   def speek(self):
       super(Student, self).speek()
       print("我的学号为{},很高兴认识大家".format(self.__stu_num))

   # 自定义实例方法,判断学号是否为既定值,并根据判断结构 进行分类打印
   def identify_stu(self):
       if self.__stu_num == int("2018014002"):
           print("我的分组已经完成")
       else:
           print("请稍后,马上为你自动分组")

   # 自定义实例方法,设置实例对象的学号为传入的值
   def set_num(self, new_num):
       self.__stu_num = new_num

   # 自定义实例方法,判断该类是否为Person类的子类,并进行分类打印
   def relation(self):
       if issubclass(Student, Person):
           print("我的父类是Person")
       else:
           print("父类正在查询中")


if __name__ == '__main__':
   stu = Student('小明', '男', 90, '数学', 2018014002)
   # 调用speak方法 打印stu对应的值
   stu.speek()
   # 调用实例方法 鉴别学号是否为指定值
   stu.identify_stu()
   # 调用实例方法 鉴别实例对象所属的类的父类是否为Person
   stu.relation()
   print("******************")
   stu_2 = Student('小红', '女', 89, '英语')
   # 调用实例方法 设置stu_2的学号为'2018040625'
   stu_2.set_num(2018040625)
   # 调用实例方法 打印stu_2对应的值
   stu_2.speek()
   # 调用实例方法 鉴别学号是否为指定值
   stu_2.identify_stu()


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好:

relation方法的要点在于同学是否掌握了pass关键字的用法。

同学的代码没有问题,加油!

如果我解决了同学的问题,请采纳!学习愉快^_^。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师