不用定义Person 类里面relation实例方法,也正常打印,它的作用是什么
我不用在Person 类里面定义的relation实例方法,也是正常打印出来,为什么要定义在Person 类里面relation实例方法,是不是需要优化
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()
正在回答
同学你好:
relation方法的要点在于同学是否掌握了pass关键字的用法。
同学的代码没有问题,加油!
如果我解决了同学的问题,请采纳!学习愉快^_^。
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星