python小课堂28_python学习28——课后练习
# 1、练习上课作业讲解的面向对象代码,明天默写
# 2、基于上课作业讲解的面向对象代码,扩写Student类
# 3、加入序列化与反序列化操作
# 4、对象之间的关联采用id号
# 5、可以通过id找到对应的文件,然后从文件中反序列化出执行的学校、班级、课程、学生对象
import pickle
import uuid
class School:
school_name = 'OLDBOY'
def __init__(self,name,addr):
self.uid=uuid.uuid4()
self.nickname=name
self.addr = addr
self.classes = []
def related_class(self,class_obj):
self.classes.append(class_obj.uid)
def getinfo_class(self):
print(self.nickname.center(60,'-'))
for class_uid in self.classes:
with open(f'{class_uid}.pkl','rb')as f:
class_obj = pickle.load(f)
class_obj.getinfo_course()
def save(self):
with open(f'{self.uid}.pkl','wb')as f:
pickle.dump(self,f)
class Class:
def __init__(self,name):
self.uid = uuid.uuid4()
self.name = name
self.course = None
def related_course(self,course_obj):
self.course = course_obj.uid
def getinfo_course(self):
print('%s' % self.name,end=" ")
with open(f'{self.course}.pkl','rb')as f:
course_obj = pickle.load(f)
course_obj.getinfo_course()
def save(self):
with open(f'{self.uid}.pkl','wb')as f:
pickle.dump(self,f)
class Course:
def __init__(self,name,period,price):
self.uid = uuid.uuid4()
self.name = name
self.period = period
self.price = price
def getinfo_course(self):
print(f'')
def save(self):
with open(f'{self.uid}.pkl','wb')as f:
pickle.dump(self,f)
class Student:
# 学生的学校
# 学生的姓名
# 学生的年龄
# 学号
# 学生的性别
def __init__(self,school,name,age,number,gender):
self.uid = uuid.uuid4()
self.school = school
self.name = name
self.age = age
self.number = number
self.gender = gender
def getinfo_student(self):
print(f'')
def choose(self,course_obj):
self.course = course_obj.uid
def save(self):
with open(f'{self.uid}.pkl','wb')as f:
pickle.dump(self,f)
school_obj1 = School('上海校区','虹桥')
school_obj2 = School('北京校区','北京某地')
class_obj1 = Class('脱产14期')
class_obj2 = Class('脱产29期')
course_obj1 = Course('python全栈','6mons','20000')
course_obj2 = Course('linux运维','5mons','18000')
student_obj1 = Student('上海校区','西楼','24','007','男')
student_obj2 = Student('北京校区','黑人','18','666','男')
school_obj1.related_class(class_obj1)
class_obj1.related_course(course_obj1)
school_obj1.save()
# school_obj2.save()
class_obj1.save()
# class_obj2.save()
course_obj1.save()
# course_obj2.save()
# student_obj1.save()
# student_obj2.save()
school_obj1.getinfo_class()
python小课堂28_python学习28——课后练习相关推荐
- python小课堂28_python小课堂28
前言 嗨!大家好哇,一星期没见了,后台收到朋友的留言以为我停更了....哇哈哈哈时间永远留不住,在春节期间,拥有这么多空闲时间的你,有木有好好充电呢?让我们继续回归python小课堂之路,本章为进阶篇 ...
- 【python小课堂专栏】python小课堂11 - 变量篇
python小课堂11 - 变量篇 前言 上周偷了点懒,周四到周末断更了,后来思考了下,前一阵儿的更新频率达到了日日更,虽然每章小知识都很详细..但是同学建议进度加快,emmm-然后我决定拉长更新周期 ...
- 【python小课堂专栏】python小课堂31 - 初识原生爬虫
python小课堂31 - 初识原生爬虫 前言 在上一期介绍了爬虫之前必会浏览器的开发者工具,忘记的童鞋可以在回顾一下: python小课堂30 - 爬虫之前必会的浏览器开发者工具. 本篇文章将以实战 ...
- 【python小课堂专栏】python小课堂15 - 史上最详细的包和模块import讲解篇
python小课堂15 - 史上最详细的包和模块import讲解篇 前言 在大量的代码设计中,我们不可能将所有代码都写在一个.py文件,所以有了包.模块,而为了代码可以重复利用(复用性),就有了类.函 ...
- python小课堂25_Python入门第25课——小案例之随机数(只读课堂)
欢迎来到"只读课堂"! In [1]: #这节课我们来用几个小案例练手: In [2]: # 1.扑克牌洗牌 # 2.彩票随机号码生成 开始打代码 "彩票" I ...
- python爬虫作用小工具_【python小课堂|史上最全的Python爬虫工具列表大全】- 环球网校...
[摘要]在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有python学习者关注Python爬 ...
- python小课堂25_python小课堂-循环
#! /user/bin/python 默认调用python # -*- coding:utf-8 -*- 默认utf-8 编码 import getpass 密码隐藏模块 # break结束 ...
- 韩信点兵python源代码_少儿编程|Python小课堂 – 韩信点兵
相传,韩信才智过人,从不直接清点军队的人数,只要让士兵三人一排,五人一排,七人一排地变换队形,而每次他只扫一眼排位就知道总人数了.输入包含多组数据,每组数据包含3个非负整数a,b,c.表示每种队形的排 ...
- python寻找完全平方数_少儿编程|Python小课堂 – 寻找aabb完全平方数
某个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数,也叫做平方数.比如:0,1,4,9,16,25,36等. 我们的任务是找到形如aabb的这样的完全平方数 (即前两位相等,后两位也相等 ...
最新文章
- 基于Go语言来理解Tensorflow
- 别得意,你只是假装收藏了而已
- 【bzoj4176】Lucas的数论 莫比乌斯反演+杜教筛
- LeetCode Algorithm 160. 相交链表
- Python 实现 csv文件转换成json文件
- C - Cats Gym - 102875C
- Node.js小Httpserver
- BZOJ 2820: YY的GCD
- 花书+吴恩达深度学习(十七)序列模型之长短期记忆 LSTM 和门控循环单元 GRU
- Oracle 9i和10g安装后的基本环境与服务
- .Net 接入CAS 遇到的坑
- 【安全】什么是0day漏洞?
- Maven历史版本下载
- 计算机桌面上的微信图标不显示不出来怎么办,怎么隐藏电脑上微信的图标显示不出来怎么办...
- 【U8】凭证上修改使用自定义项科目的辅助信息
- BootStrap3-基础入门
- linux:挂载、rpm、yum、scp、ssh、crontab、时钟同步
- python 会计分录模板_常见会计分录大全(15种小企业模板)
- 15个有效学习方法【转载】
- 使用JSONObject 读取 jason对象中的key
热门文章
- hmr webpack 不编译_一文搞懂 webpack HMR 原理
- Xamarin XAML语言教程ContentView视图作为自定义视图的父类
- python 查看数据结构类型_python标准数据结构类型
- 关于python那些事_Python 入门你必须知道的那些事
- anaconda基本概念,常用命令
- Magic Leap 2实测出炉:视场角增大20度,重量减轻20%,透光率低至0.3%让AR特效更逼真...
- 一键cosplay各路动漫人物!快手的这个BlendGAN火了 | NeurIPS 2021
- 爷青回!GAN生成的超级马里奥关卡,可以永不通关的那种
- MindCon | 5天啦,你有领取MSG城市专属徽章吗?
- 理想汽车事故,智能短板暴露