Python就业班——初识面向对象——练习——Person
Posted 嘆世殘者——華帥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python就业班——初识面向对象——练习——Person相关的知识,希望对你有一定的参考价值。
1 #!/usr/bin/env python3 2 # coding=utf-8 3 # Version:python3.6.1 4 # Project:practice 5 # File:Person.py 6 # Data:2020/7/11 15:58 7 # Author:LGSP_Harold 8 9 """ 10 自定义两个类Person和Student,且Student继承自Person。Person 11 类主要描述人的姓名和性别两大基本特征。Student类除了保持父类的 12 基本属性之外还具有分数、主修两个公有属以及一个私有属性(学 13 号)。请根据上述的基本说明,对stu和stu_2两个对象的信息进行综 14 合展示。 15 16 任务 17 1、自定义Person类,并重写其构造(初始化)方法__init__( ),将na 18 me和gender参数赋值给实例对象的属性 19 2、自定义实例方法speak( ),功能:打印“hello ! 我是xxx”。relati 20 on( )方法主要是占位作用,无其他实质性功能 21 3、自定义Student类,继承自Person类,并重写其构造(初始化)方 22 法__init__( ),name、gender参数通过调用父类的构造函数进行赋 23 值,score和major通过子类重写的 __init__( )进行赋值。 24 4、自定义实例方法speak( ),功能:打印 ‘我的学号为xxxxxxxxxx, 25 很高兴认识大家‘; 26 5、自定义实例方法identify_stu( ),功能:判断Student对象的学 27 号。若学号为2018014002,则打印‘我的分组已经完成’,反之则 28 打印‘请稍后,马上为你自动分组’; 29 6、自定义实例方法set_num( new_num),功能:将学号重写设置为n 30 ew_num; 31 7、自定义实例方法relation( ),功能:判断Student是否为Person的 32 子类。若成立,则打印‘我的父类是Person’,反之则打印‘父类正 33 在查询中······’ 34 8、初始化实例对象stu和stu_2,并根据上述效果图调用对应方法 35 任务提示 36 Person类中的实例方法relation( )为占位功能时,其方法体可用pass语句代替 37 """ 38 39 40 class Person(object): 41 42 def __init__(self, name, gender): 43 self.name = name 44 self.gender = gender 45 46 def speak(self): 47 print(‘我是{0}‘.format(self.name)) 48 49 def relation(self): 50 pass 51 52 53 class Student(Person): 54 55 def __init__(self, name, gender, score, major, number=2018014002): 56 super().__init__(name, gender) 57 self.score = score 58 self.major = major 59 self.__number = number 60 61 def speak(self): 62 super(Student, self).speak() 63 print(‘我的学号{0}‘.format(self.__number)) 64 65 def identify_stu(self): 66 if self.__number == 2018014002: 67 print(‘分组已经完成‘) 68 else: 69 print(‘马上分组‘) 70 71 def set_num(self, new_num): 72 self.__number = new_num 73 74 def relation(self, class_son, class_father): 75 if issubclass(class_son, class_father): 76 print(‘父类为:Person‘) 77 else: 78 print(‘父类查询中‘) 79 80 81 if __name__ == ‘__main__‘: 82 stu = Student(‘Jim‘, ‘男‘, 99, ‘数学‘) 83 stu.speak() 84 stu.identify_stu() 85 stu.relation(Student, Person) 86 print(‘*‘*18) 87 stu_2 = Student(‘Leslie‘, ‘男‘, 81, ‘英语‘) 88 stu_2.set_num(2018040625) 89 stu_2.speak() 90 stu_2.identify_stu()
以上是关于Python就业班——初识面向对象——练习——Person的主要内容,如果未能解决你的问题,请参考以下文章