Python---面向对象---修学校
一、创建北京和成都两个校区:
1、创建Linux\Python两个课程
2、创建北京校区的Python 3期课程和成都校区的Linux 1期课程
3、管理员创建了北京校区的学员小张,并将其分配在了Python 3期
4、管理员创建了讲师小周,并将其分配了Python 3期
5、讲师小周创建了一条Python 3期的上课记录Day02
6、讲师小周为Day02这节课所有的学院批改了作业,小张得了A,小王得了B
7、学员小张查看了自己所报的课程
8、学员小张在查看了自己在Python3的成绩列表然后退出了
9、学院小张给了讲师小周好评
------------------------------------------------------------------
def __init__(self, school_name):
self.school_name = school_name
self.student_list = []
self.teachers_list = []
global Course_list
def hire(self, obj):
self.teacher_list.append(obj.name)
print("我们现在聘请一个新老师{}".format(obj.name))
def enroll(self, obj):
self.student_list.append(obj.name)
print("我们又有了一个新学员{}".format(obj.name))
def __init__(self, school_name, grade_code, grade_course):
super(Grade, self).__init__(school_name)
self.code = grade_code
self.course = grade_course
self.members = []
Course_list.append(self.course)
print("我们现在有了{}的{}的{}".format(self.school_name, self.code, self.course))
def course_info(self):
print("课程大纲{} 是 day01, day02, day03".format(self.course))
Python = Grade("BJ",3,"Python")
Linux = Grade("CD",1,"Linux")
def __init__(self, name, age, sex, role):
self.name = name
self.age = age
self.sex = sex
self.role = role
self.course_list=[]
print("我叫{}, 我是一个{}".format(self.name, self.role))
stu_num_id = 00
class Students(School_member):
def __init__(self, name, age, sex, role, course):
super(Students, self).__init__(name, age, sex, role)
global stu_num_id
stu_num_id += 1
stu_id = course.school_name + "S" + str(course.code) + str(stu_num_id).zfill(2)
#zfill 填充的作用,当只有一位数时前面填充0,只能对str类型做操作
self.id = stu_id
self.mrk_list={}
def study(self, course):
print("我来这里学习{}课,我的学号是{}".format(course, course, self, id))
def pay(self, course):
print("我交了1000块钱{}".format(course.course))
self.course_list.append(course.course)
def Praise(self, obj):
print("{}觉得{}课真棒".format(self.name, obj.name))
def mark_check(self):
for i in self.mark_list.items():
print(i)
def out(self):
print("我离开了")
class Teachers(School_member):
def __init__(self, name, age, sex, role, course):
super(Teachers, self).__init__(name, age, sex, role)
global tea_num_id
tea_num_id += 1
tea_id = course.school_name + "T" + str(course.code) + str(tea_num_id).zfill(2)
# zfill 填充的作用 当只有一位数时前面填充0,只能对str类型做操作
self.id = tea_id
def teach(self, course):
print("我来这里讲{}门课,我的id是{}".format(course, course, self,id))
def record_mark(self, Date, course, obj, level):
obj.mark_list['Day'+Date] = level
Python.enroll(a)
a.study(Python)
a.pay(Python)
Python.enroll(a)
b.study(Python)
b.pay(Python)
Python.hire(c)
c.teach(Python)
t.record_mark("1", Python, a, "A")
t.record_mark("1", Python, b, "B")
t.record_mark("2", Python, a, "A")
t.record_mark("2", Python, b, "B")
b.mark_check()
b.out()
Python---面向对象---修学校的更多相关文章
- python 面向对象进阶之内置方法
一 isinstance(obj,cls)和issubclass(sub,super) 1.1,isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(obj ...
- python面向对象编程进阶
python面向对象编程进阶 一.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 1 ...
- Python面向对象-day07
写在前面 上课第七天,打卡: 时间的高效利用: 前言: 今天egon老师补充了下 is 和 == 的区别,整理如下:Python中变量的属性以及判断方法 一.面向过程和面向对象 - 1.面向过程 核心 ...
- python 面向对象高级应用(三)
目录: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__getattr__ 二次加工标准类型(包装) __ ...
- python—面向对象设计
一:三大编程范式 1.面向过程编程 2.函数式编程 3.面向对象编程 (类:把一类事物的相同的特征和动作整合到一起就是类,类是一个抽象的概念) (对象:就是基于类而创建的一个具体的事物 [具体存在的] ...
- python 面向对象初级篇
Python 面向对象(初级篇) 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发" ...
- Python 面向对象 基础
编程范式概述:面向过程 和 面向对象 以及函数式编程 面向过程:(Procedure Oriented)是一种以事件为中心的编程思想. 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现 ...
- python面向对象进阶(八)
上一篇<Python 面向对象初级(七)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...
- python 面向对象(进阶篇)
上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...
- python 面向对象编程学习
1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决 ...
随机推荐
- hashMap与 hashTable , ArrayList与linkedList 的区别(详细)
ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个 ...
- What is the difference between a URI, a URL and a URN?
资料: URI: URL: URN:
- Hibernate API的使用(Query、Criteria、SQLQuery对象)
Query对象 我们使用Query对象不需要编写SQL语句,但是得写HQL语句. HQL:Hibernate Query Language:Hibernate提供的查询语言,和SQL语句很相似. HQ ...
- Java ——补充:构造方法 super()与构造方法 无参 有参构造方法 this()与构造方法
参考文章: https://blog.csdn.net/qq_33322074/article/details/86030836 https://blog.csdn.net/HD243608836/a ...
- GCC之CFI
CFI(calling frame info)的作用是出现异常时stack的回滚(unwind) 而回滚的过程是一级级CFA往上回退,直到异常被catch. DWARF4标准的section 6.4: ...
- 加载动态链接库——dlopen dlsym dlclose
DLOPEN DLMOPEN DLCLOSE NAME dlclose, dlopen, dlmopen - 打开/关闭共享对象 SYNOPSIS #include <dlfcn.h&g ...
- python 并发编程 多进程 队列目录
python 并发编程 多进程 队列 python 并发编程 多进程 生产者消费者模型介绍 python 并发编程 多进程 生产者消费者模型总结 python 并发编程 多进程 JoinableQue ...
- Java第四周总结+实验报告
实验二 Java简单类与对象 实验目的 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性 ...
- (4.31)sql server中的xml数据操作
关键词:xml数据转为行列方式显示 常规案例: declare @data xml declare @h int set @data=' <bookstore> <row> & ...
- 将从model中获得的数据传到js函数中
刚遇到了一种情况,从controller中获得的model是一个集合,需要将这个集合循环放到标签中,并且需要为这些标签添加点击事件,每个值传入对应的点击事件函数中,由于model中的值是通过${ite ...