exec模块,元类与ORV的应用
exec模块的补充
1.是什么?
exec是一个Python内置模块。
2.exec的作用:
'''
x = 10
def func1():
pass
'''
可以把"字符串形式"的python代码,添加到全局空间或局部名称空间中。
3.怎么用:
# 参数1: 字符串形式的python代码
# 参数2: 全局名称空间字典
# 参数3: 局部名称空间字典
调用exec()
.元类
1.什么是元类?
元类就是类的类,Chinese类的类是type,type是所有类的类,type就是一个元类。
2.元类的作用?
元类可以帮我们控制类的创建。
元类可以帮我们控制类的调用。
3.怎么自定义创建元类:
1) 自定义一个元类,继承type,派生出自己的属性与方法。
2) 给需要使用的类,通过metaclass指定自定义好的元类。
- class Chinese(metaclass='自定义的元类'):
.优酷架构
- ATM
- 用户视图层
- 接口层
- 数据层
- dict
- json
优点:
数据可以跨平台。
缺点:
不能存对象,也不能直接获取对象。 {。。。}
不能通过“对象.属性”的方式 存、取值。
存储速度比pickle慢。
- 选课系统
- 用户视图层
- 接口层
- 数据层
- models:
- obj
- pickle
优点:
可以通过“对象.属性”的方式 存、取值。
能存对象,也能直接获取对象。
- pickle
缺点:
不能跨平台。
- 优酷
- 用户视图层
- 接口层
- 数据层
- 存储对象 ---> dict ---> Json ---> MySQL
- MySQL ---> Json ---> dict ---> 获取对象
.ORM: 对象关系映射
ORM: 对象关系映射 ---> 映射到数据库MySQL中的数据表
类名 ---> 表名
对象 ---> 一条记录
对象.属性 ---> 字段
模拟Django的ORM,为了,将数据库的 增、删、改、查,全部封装成
一个个的方式,比如: save, delete, update, select。
exec模块,元类与ORV的应用的更多相关文章
- Day 5-7 exec 和元类的创建.
exec方法 元类 exec(str_command,globals,locals)参数1:字符串形式的命令参数2:全局作用域(字典形式). 如果不指定,默认globals参数3:局部作用(字典形式) ...
- eval、exec及元类、单例实现的5种方法
eval内置函数 # eval内置函数的使用场景:# 1.执行字符串会得到相应的执行结果# 2.一般用于类型转化,该函数执行完有返回值,得到dict.list.tuple等dic_str = ...
- exec()和元类
目录 一.exec()的作用 二.元类 2.1什么是元类,元类的作用是什么? 2.2自定义创建元类 一.exec()的作用 exec执行储存在字符串或文件中的 Python 语句,相比于 eval,e ...
- CSIC_716_20191213【内置函数exec、元类】
In memory of the more than 300 thousand Chinese murdered exec( 字符类型的代码,全局变量,局部变量 ).其中,全局变量和局部变量可以写成字 ...
- python3全栈开发-内置函数补充,反射,元类,__str__,__del__,exec,type,__call__方法
一.内置函数补充 1.isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object): pass obj = Foo() print(isinstan ...
- 29 内置方法 eval | exec 元类 单例
eval与exec内置方法 将字符串作为执行目标,得到响应结果 eval常用作类型转换:该函数执行完有返回值 exec拥有执行更复杂的字符串:可以形成名称空间 eval内置函数的使用场景: 1.执 ...
- 类装饰器,元类,垃圾回收GC,内建属性、内建方法,集合,functools模块,常见模块
'''''''''类装饰器'''class Test(): def __init__(self,func): print('---初始化---') print('func name is %s'%fu ...
- exec , 元类,__new__, __call__ , 单例模式 , 异常
1,类也是对象 ''' 动态语言 可以在运行期间 动态生成类 修改对象属性 静态语言 ''''' ''' type(object_or_name, bases, dict) type(object) ...
- python基础语法20 面向对象5 exec内置函数的补充,元类,属性查找顺序
exec内置函数的补充 exec: 是一个python内置函数,可以将字符串的代码添加到名称空间中; - 全局名称空间 - 局部名称空间 exec(字符串形式的代码, 全局名称空间, 局部名称空间) ...
随机推荐
- DateTime.UtcNow 协调通用时间(UTC)
1.协调通用时间(UTC) 2.本地时间和UTC时间相互转化 DateTime localDateTime = DateTime.Now;//本地时间 DateTime utcDateTime = D ...
- linux下mysql设置主从
一 主服务器修改 mysql的主从设置主要原理是 主数据库开启日志,并且创建从服务器专属账户,从服务器用该账户,读取到日志进行同步 准备两个mysql数据库(如何安装请查看,linux下mysql安 ...
- React 克隆组件 -- React.cloneElement(可以用来修改子组件属性值,复制子组件,添加子组件)
项目要求实现按钮级权限,简单来说就是需要通过后台数据绑定来控制前端页面哪些操作按钮需要渲染,哪些操作按钮不需要渲染, 大体的方案是: 在原有的按钮标签外再套一层按钮权限控制标签,然后每个具体的按钮对照 ...
- Python3 Selenium自动化web测试 ==> 第二节 页面元素的定位方法 <上>
前置步骤: 上一篇的Python单元测试框架unittest,我认为相当于功能测试测试用例设计中的用例模板,在自动化用例的设计过程中,可以封装一个模板,在新建用例的时候,把需要测试的步骤添加上去即可: ...
- jenkins和gitlab备份
#把/opt目录拷贝到10.0.0.31的/tmp下. rsync -avz /opt root@10.0.0.31:/tmp/ pull: rsync -avz root@10.0.0.31: ...
- PTA(Basic Level)1024.科学计数法
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指 ...
- mvn打包到私服
mvn打包到私服 1 命令行打包 待定... 2 idea打包 1> 配置 pom.xml <!-- 发布 --><distributionManagement> < ...
- IE浏览器(js)new Date()带参返回NaN解决方法
function myNewDate(str) { if(!str){ return 0; } arr=str.split(" "); d=arr[0].split("- ...
- 什么是 Serverless 应用引擎?优势有哪些?
Serverless 应用引擎(Serverless App Engine,简称 SAE)是面向应用的 Serverless PaaS 平台,能够帮助 PaaS 层用户免运维 IaaS,按需使用,按量 ...
- JavaSE--异常机制
异常就是程序在运行时出现的不正常情况.发生在运行时期,java程序在运行时期发生的不正常情况,此时java就按照面向对象的思想对不正常现象进行描述和对象的封装.异常的由来:问题也是现实生活中一个具体的 ...