对学校、老师、学生做一个分类,并抽象成类。并实现各自的一些功能。代码如下:

父类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: 继承实例 - 学校、老师、学生的更多相关文章

  1. Python全栈day24(面向对象编程作业作业_定义学校老师课程班级学生类)

    面向对象作业 作业_定义学校老师课程班级学生类.py #面向对象编程作业,定义学校老师课程班级学生类 #定义几个类,尽可能定义多的数据属性及函数属性 class School: def __init_ ...

  2. python继承的实例

    class SchoolMember(object):#定义学校 member=0#默认成员为0个 amount=0#默认学费为0元 def __init__(self,name,age,sex):# ...

  3. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  4. Python中的单继承与多继承实例分析

    Python中的单继承与多继承实例分析 本文实例讲述了Python中的单继承与多继承.分享给大家供大家参考,具体如下: 单继承 一.介绍 Python 同样支持类的继承,如果一种语言不支持继承,类就没 ...

  5. Django 小实例S1 简易学生选课管理系统 10 老师课程业务实现

    Django 小实例S1 简易学生选课管理系统 第10节--老师课程业务实现 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块中,老师将要使 ...

  6. 初识python面向对象

    一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...

  7. @1-2初识Python爬虫

    初识Python爬虫 Python爬虫(入门+进阶)     DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...

  8. 孤荷凌寒自学python第二十一天初识python的类

    孤荷凌寒自学python第二十一天初识python的类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 类是面向对象的编程语言非常重要的概念. 编程语言的进化史中从顺序编程到结构化编程,最后才 ...

  9. Django 小实例S1 简易学生选课管理系统 12 CSS样式完善

    Django 小实例S1 简易学生选课管理系统 第12节--CSS样式完善 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块的逻辑代码到这里 ...

随机推荐

  1. 【Linux】【Services】【Project】Cobbler自动化装机

    1. 概念 1.1. Cobbler 1.2. PXE 1.3. 2. 版本信息 2.1. OS:Red Hat Enterprise Linux Server release 7.3 (Maipo) ...

  2. postman 中get传参数

    mybatis中: @RequestMapping(value = "/detail/{id}", method = RequestMethod.GET, produces = & ...

  3. Salesforce LWC学习(三十七) Promise解决progress-indicator的小问题

    本篇参考:https://developer.salesforce.com/docs/component-library/bundle/lightning-progress-indicator/exa ...

  4. jenkins集成openldap

    参考图片 集成ldap参考链接:https://www.cnblogs.com/mascot1/p/10498513.html

  5. aha

    欢迎使用 MWeb MWeb 是专业的 Markdown 写作.记笔记.静态博客生成软件,目前已支持 Mac,iPad 和 iPhone.MWeb 有以下特色: 软件本身: 使用原生的 macOS 技 ...

  6. [BUUCTF]PWN——[ZJCTF 2019]Login

    [ZJCTF 2019]Login 附件 步骤: 例行检查,64位程序,开启了canary和nx保护 2. 试运行一下程序 3. 64位ida载入,检索字符串,在程序里找到了用户名admin和密码2j ...

  7. 【web】docker复现环境踩坑

    在先知看到有师傅发了个学习 P 牛的代码审计的文章,在 github 上下下来复现环境,结果 docker 各种问题,气死 安装 docker-compose:pip install -i https ...

  8. c#中Array,ArrayList 与List<T>的区别、共性与转换

    本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...

  9. CF508A Pasha and Pixels 题解

    Content 有一个 \(n\times m\) 的矩阵,一开始全部格子被染成白色. 接下来有 \(k\) 个操作,每一个操作表示把一个格子染成黑色.问第一次出现 \(2\times 2\) 的全部 ...

  10. CF749A Bachgold Problem 题解

    Content 给定一个数 \(n\),求它最多能够拆分成多少个质数,并输出拆分成的每一个质数. 数据范围:\(2\leqslant n\leqslant 10^5\). Solution 我们考虑尽 ...