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的主要内容,如果未能解决你的问题,请参考以下文章

Python就业班——初识面向对象——练习——Person

accp8.0转换教材第8章JavaScript对象及初识面向对象理解与练习

Python之面向对象面向对象初识

python--面向对象(初识)

python之面向对象初识

python之路---16 初识面向对象