ORM框架 和 面向对象编程
ORM框架:
1.SQLAlchemy:
- 作用
1.提供简单的规则
2.自动转换成SQL语句
- DB first/code first
DB first: 手动创建数据库以及表 ->ORM框架 ->自动生成类
code first: 手动创建类和数据库 ->ORM框架 ->以及表
a.功能
- 创建数据库表
- 连接数据库(非SQLAlchemy, pymysql,mysqldb,....)
- 类转换SQL语句
- 操作数据行
增 删 改 查
- 遍历
2.自己开发web框架
-socket
-http协议
-HTML知识
-数据库(pyMySQL, SQLAlchemy)
面向对象编程:
1.提取共性
2.分类
3.模版“约束”
4.当一类函数公用用样参数时候, 可以转成类进行 - 分类
5.
面向对象: 数据和逻辑组合在一起
函数编程: 数据和逻辑分离
class Foo:
def __init__(self, name):
self.name = name
def show(self):
print(self.name)
def __call__(self):
pass
def __getitem__(self,key):
pass
def __setitem__(self, key, value):
pass
def __delitem__(self, key):
pass
def __getattr__(self, key):
pass
def __setattr__(self, key, value):
pass
obj1 = Foo("xxx")
obj1() -- __call__
obj1['k'] -- __getitem__
obj1['k'] = 123 -- __setitem__
del obj1[k] -- __delitem__
obj1.xxx -- __getattr__
obj1.xxx = value -- __setattr__
ORM框架 和 面向对象编程的更多相关文章
- PyTorch框架+Python 3面向对象编程学习笔记
一.CNN情感分类中的面向对象部分 sparse.py super(Embedding, self).__init__() 表示需要父类初始化,即要运行父类的_init_(),如果没有这个,则要自定义 ...
- ORM之殇,我们需要什么样的ORM框架?
最近在研究ORM,究竟什么样的框架才是我们想要的 开发框架的意义在于 开发更标准,更统一,不会因为不同人写的代码不一样 开发效率更高,无需重新造轮子,重复无用的代码,同时简化开发流程 运行效率得到控制 ...
- [.net 面向对象编程基础] (20) LINQ使用
[.net 面向对象编程基础] (20) LINQ使用 通过上节LINQ的基础知识的学习,我们可以开始使用LINQ来进行内存数据的查询了,我们上节说了LINQ的定义为:Language Integr ...
- ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】4.5
摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)[ECG]是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于OO.ADO.N ...
- 自定义ORM框架(转转)
ORM背景 在数据库界,主流的数据库都是关系型数据库,其采用的关系型数据结构模型,无论从数学上还是实践中都相当的成熟,得到非常广泛的应用.在关系型数据结构理 论中,所有的数据都组织成一个个相互独立的二 ...
- 各种ORM框架对比(理论篇,欢迎来观摩)
各种ORM框架对比 目前框架有以下 PetaPoco Dapper.NET Massive Simple.Data Chain PetaPoco 轻量级,以前单文件,目前有维护形成项目级别,适合多个数 ...
- .NET(C#)主流的ORM框架
.NET(C#)主流ORM总揽 SqlSugar (国内) Dos.ORM (国内) Chloe (国内) StackExchange/Dapper (国外) Entity Framework (EF ...
- flask的orm框架(SQLAlchemy)-创建表
# 转载请留言联系 ORM 是什么? ORM,Object-Relation Mapping.意思就是对象-关系映射.ORM 主要实现模型对象到关系数据库数据的映射. 优点 : 只需要面向对象编程, ...
- 各种ORM框架对比(理论篇,欢迎来观摩,并且纠正部分错误,防止误区)
各种ORM框架对比 目前框架有以下 PetaPoco Dapper.NET Massive Simple.Data Chain PetaPoco 轻量级,以前单文件,目前有维护形成项目级别,适合多个数 ...
随机推荐
- hdu4339 Query
Problem Description You are given two strings s1[0..l1], s2[0..l2] and Q - number of queries. Your t ...
- 洛谷-P1469 找筷子 (位运算)
题意:给你一组数,求数组中唯一的出现次数为奇数的那个数. 题解:这题其实直接桶排一下就行了,但是最后一个点会TLE. 后来了解到这题可以用位运算来解决: ^(异或)运算符:用于比较两个二进制数 ...
- Codeforces Round #669 (Div. 2) A. Ahahahahahahahaha (构造)
题意:有一个长度为偶数只含\(0\)和\(1\)的序列,你可以移除最多\(\frac{n}{2}\)个位置的元素,使得操作后奇数位置的元素和等于偶数位置的元素和,求新序列. 题解:统计\(0\)和\( ...
- Cobbler自定义标题及菜单密码
sha1pass mypassword || openssl passwd -1 -salt sXiKzkus mypassword $1$sXiKzkus$x12Z3ZaiC34GhceLH5LXw ...
- C++11特性-右值引用
什么是左值,什么是右值 常见的误区有 = 左边的是左值,右边的是右值. 左值:具有存储性质的对象,即lvalue对象,是指要实际占用内存空间.有内存地址的那些实体对象,例如:变量(variables) ...
- redis运维与开发笔记
- HDU 4746 Mophues(莫比乌斯反演)题解
题意: \(Q\leq5000\)次询问,每次问你有多少对\((x,y)\)满足\(x\in[1,n],y\in[1,m]\)且\(gcd(x,y)\)的质因数分解个数小于等于\(p\).\(n,m, ...
- Bash on Ubuntu on Windows ( Windows Subsystem for Linux)
1 # Bash on ubuntu on Windows http://www.cnblogs.com/anonymous-ufo/p/6143480.html 1 1 如何启用Bash on u ...
- ESLint & husky & git commit limit
ESLint & husky & git commit limit 2 == error .eslintrc { "extends": "eslint-c ...
- base 64 & blob & image url
base 64 & blob & image url base 64 image & e.clipboardData.items[1] https://codepen.io/x ...