1104课堂小结
Posted faye12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1104课堂小结相关的知识,希望对你有一定的参考价值。
exec
exec是什么
exec 是一个python的内置模块
exec的作用
可以把‘字符串形式’的python代码,添加到全局或者局部名称空间中
exec的使用方法
- 参数一:字符串形式的python代码
- 参数二:全局名称空间字典
- 参数三:局部名称空间字典
调用exec()
元类
什么是元类
元类就是类的类,Chinese类的类是type,type是所有类的类,所以type就是一个元类
元类的作用
元类可以帮我们控制类的创建和调用
怎么自定义创建元类
自定义一个元类,继承type,派生出自己的属性和方法
给需要使用的类,通过metaclass指定自定义好的元类
如:
class chinese(mataclass=‘自定义的元类‘)
优酷架构
ATM架构
优点:数据可以跨平台
缺点:不能存对象,也不能直接获取对象
? 不能通过“对象.属性”的方式存取值
? 存储速度比pickle慢
选课系统架构
优点:可以通过“对象.属性”的方式存取值
? 能存对象,也能直接获取对象
? 如:pickle
缺点: 不能跨平台
优酷架构
- 数据层
- 存储对象 ---->dict ----> json ----> mysql
- MySQL ----> Json ----> dict ----> 获取对象
ORM
对象关系映射----> 映射到数据库MYSQL中的数据表
类名 ----> 表名
对象 ----> 一条记录
对象.属性 ----> 字段
模拟Django的ORM ,为了将数据库的增删改查全部封装成一个个的方式,比如save,delete,update,select
ORM三个问题
解决代码冗余问题
解决方式:继承一个父类,父类中定义一个
__init__
无法预测每一张表中的字段是什么,无法通过父类的
__init__
解决问题解决方法:通过继承字典内部的
__init__
,可以接受任意个数的关键字参数继承字典的类实例化的对象,无法通过“对象.属性”的方式存取值
解决方法:通过
__setattr__
,__getattr__
来实现,让字典对象与普通对象一模一样,并且具备字典原有的特性
以上是关于1104课堂小结的主要内容,如果未能解决你的问题,请参考以下文章