初识python: 继承实例 - 学校、老师、学生
对学校、老师、学生做一个分类,并抽象成类。并实现各自的一些功能。代码如下:
父类1:学校
# 学校
class School(object):
def __init__(self,name,addr):
self.name = name
self.addr = addr
self.students = []
self.teachers = [] # 注册
def stu_regin(self,stu_obj):
print('给学员%s办理注册。'%stu_obj.name)
self.students.append(stu_obj) # 入职
def tec_regin(self,tec_obj):
print('给老师%s办理入职。'%tec_obj.name)
self.teachers.append(tec_obj)
学校
父类2:学校成员
class SchoolMember(object):
def __init__(self,name,age):
self.name = name
self.age = age def tell(self):
print('学校成员信息。')
学校成员
子类1:老师
# 老师
class Teacher(SchoolMember):
def __init__(self,name,age,course,salary):
super(Teacher,self).__init__(name,age)
self.course = course
self.salary = salary def tell(self):
print('''
---- %s老师的信息 ----
姓名:%s
年龄:%s
课程:%s
工资:%s
'''%(self.name,self.name,self.age,self.course,self.salary)) def teach(self):
print('%s老师正在给学生上%s课'%(self.name,self.course))
老师
子类2:学生
# 学员
class Student(SchoolMember):
def __init__(self,name,age,stu_id,class_id,fee):
super(Student,self).__init__(name,age)
self.stu_id = stu_id
self.class_id = class_id
self.fee = fee def tell(self):
print('''
---- %s学生的信息 ----
姓名:%s
年龄:%s
学籍号:%s
班级:%s
''' % (self.name, self.name, self.age, self.stu_id, self.class_id)) def pay_fee(self):
print('%s交了%s元学费。'%(self.name,self.fee))
学生
实例化类:
# 生成学校
sch = School('成都大学','成都') # 生成老师
te1 = Teacher("张三",35,"python3",10000)
te2 = Teacher('李四','28','JAVA','10000')
te3 = Teacher('王五','25','C','10000') # 生成学生
st1 = Student('李稍等','25','001','python入门班','8000')
st2 = Student('张撒旦','32','002','C入门班','5000')
st3 = Student('王而非','25','003','python入门班','8000')
实例化
查看老师信息,调用老师tell方法:
# 查看老师信息
te1.tell()
给老师办理入职,调用学校的tec_regin方法:
# 老师入职
sch.tec_regin(te1)
给学生办理注册,调用学校的stu_regin方法:
# 学生注册
sch.stu_regin(st1)
sch.stu_regin(st2)
sch.stu_regin(st3)
老师授课:
# 老师教课
sch.teachers[0].teach()
学生交学费:
# 学生交学费
for s in sch.students:
s.pay_fee()
执行结果:

初识python: 继承实例 - 学校、老师、学生的更多相关文章
- Python全栈day24(面向对象编程作业作业_定义学校老师课程班级学生类)
面向对象作业 作业_定义学校老师课程班级学生类.py #面向对象编程作业,定义学校老师课程班级学生类 #定义几个类,尽可能定义多的数据属性及函数属性 class School: def __init_ ...
- python继承的实例
class SchoolMember(object):#定义学校 member=0#默认成员为0个 amount=0#默认学费为0元 def __init__(self,name,age,sex):# ...
- Python导出Excel为Lua/Json/Xml实例教程(一):初识Python
Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...
- Python中的单继承与多继承实例分析
Python中的单继承与多继承实例分析 本文实例讲述了Python中的单继承与多继承.分享给大家供大家参考,具体如下: 单继承 一.介绍 Python 同样支持类的继承,如果一种语言不支持继承,类就没 ...
- Django 小实例S1 简易学生选课管理系统 10 老师课程业务实现
Django 小实例S1 简易学生选课管理系统 第10节--老师课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,老师将要使 ...
- 初识python面向对象
一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...
- @1-2初识Python爬虫
初识Python爬虫 Python爬虫(入门+进阶) DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...
- 孤荷凌寒自学python第二十一天初识python的类
孤荷凌寒自学python第二十一天初识python的类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 类是面向对象的编程语言非常重要的概念. 编程语言的进化史中从顺序编程到结构化编程,最后才 ...
- Django 小实例S1 简易学生选课管理系统 12 CSS样式完善
Django 小实例S1 简易学生选课管理系统 第12节--CSS样式完善 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块的逻辑代码到这里 ...
随机推荐
- 通过js进行页面跳转的几种方式
1.<a>标签 <a href="www.baidu.com" title="百度">百度</a> <a href= ...
- jupyter的使用技巧
具体安装教程参见上一篇博客. 1.有几种格式code,编码模式:markdown注释格式: 2.如果出现no module named 'XX' ,需要在anaconda prompt中使用conda ...
- Java 将Word转为OFD
通常在工作中比较常用到的Microsoft Word是属于国外的文档内容编辑软件,其编译技术均属国外.而OFD是一种我国的自主文档格式,在某些特定行业或企业的文档存储技术上是一种更为安全的选择.下面将 ...
- C++内存管理:简易内存池的实现
什么是内存池? 在上一篇 C++内存管理:new / delete 和 cookie中谈到,频繁的调用 malloc 会影响运行效率以及产生额外的 cookie, 而内存池的思想是预先申请一大块内存, ...
- C51单片机中断实验
实验要求: 要求通过中断方式检测有无按键 判断哪个按键(编号0-9),并且在数码管上显示对应的0-9 代码部分 #include<reg51.h> char led_mod[]={0x3f ...
- k8s-statefulset
1. 简介 StatefulSet 是用来管理有状态应用的工作负载Api对象. StatefulSet 用来管理某 Pod 集合的部署和扩缩, 并为这些 Pod 提供持久存储和持久标识符. 和 Dep ...
- java 多线程Thread 子类 定时器Timer
定时器Timer, 定时器分类: 1,指定时间指定任务(明天早上8点准时提醒我起床),相当于linux里面的at命令 2,周期性的执行任务(每隔三分钟闹钟响一次),相当于Linux里面的cron命令 ...
- Qt5获取可用串口
概述 本文将介绍Qt5使用类QSerialPortInfo获取可以用串口号 效果 机器上配置的虚拟串口 程序获取结果 源码开始 .pro文件中添加下面的代码 QT += serialport 然后,执 ...
- 【LeetCode】910. Smallest Range II 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...
- 【LeetCode】787. Cheapest Flights Within K Stops 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:DFS 方法二:BFS 参考资料 日期 题目 ...