Python就业班——初识面向对象——练习——Person
2021-04-20 12:28
标签:else style 练习 color 效果 bsp sub usr 查询 Python就业班——初识面向对象——练习——Person 标签:else style 练习 color 效果 bsp sub usr 查询 原文地址:https://www.cnblogs.com/Harold-Hua/p/13284817.html 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
文章链接:http://soscw.com/index.php/essay/77132.html