- 博客(16)
- 收藏
- 关注
原创 Asyncio
asyncioasyncio底层基于selectors实现,看似库,其实就是个框架,包含异步IO、事件循环、协程、任务等内容。多线程版本import threadingimport timedef a(): for i in range(3): time.sleep(0.2) print(i) def b(): for...
2019-11-01 14:56:07
496
原创 高并发解决方案
并发的解决1、队列、缓冲区队列是天然解决高并发的手段之一,通常我们叫buffer,作用是解耦、缓冲。例如:queue模块的类Queue、LifoQueue、PriorityQuueue(小顶堆实现,优先队列)queue默认是先进先出,但它的问题是后面的任务是否能等到前面的任务完成。优先队列 PriorityQueue对于自己写的程序,如果你有大量的请求需要自己来解决,用队列将这些请求装...
2019-11-01 14:54:38
247
原创 ORM
ORMORM,对象关系映射,对象和关系之间的映射,使用面向对象的方式来操作数据库。关系模型和Python对象之间的映射table => class ,表映射为类row => object ,行映射为实例column => property ,字段映射为属性SQLALchemySQLALchemy是一个ORM框架安装pip install sqla...
2019-11-01 11:44:53
211
原创 UDP编程
UDP服务端编程流程创建socket对象。socket.SOCK_DGRAM绑定IP和Port,bind()方法传输数据接收数据,socket.recvfrom(bufsize[,flags]),获得一个二元组(string, address)发送数据,socket.sendto(string, address)发给某地址某信息释放资源import socketserv...
2019-11-01 11:39:52
141
原创 网络编程
Socket介绍协议族AF表示Address Family,用于socket()第一个参数名称含义AF_INETIPV4AF_INET6IPV6AF_UNIXUnix Domain Socket, windows没有Socket类型名称含义SOCK_STREAM面向连接的流套接字。默认值,TCP协议SOCK_DGRAM...
2019-11-01 11:37:42
618
原创 MySQL知识
MySQL存储引擎什么是存储引擎?数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。提示:InnoDB事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。MySQL5.5之后,InnoDB作为默认存储引擎。MyISAM是基于I...
2019-11-01 11:35:02
96
原创 GIL全局解释器锁
数据结构和GILQueue类是线程安全的,适用于多线程间安全的交换数据。内部使用了Lock和Condition。Queue类的size虽然加了锁,但是,依然不能保证立即get、put就能成功,因为读取大小和get、put方法是分开的。import queueq = queue.Queue(8)if q.qsize() == 7: q.put() # 上下两句可能被打断 ...
2019-11-01 11:32:52
73
原创 python生成器函数
生成器(三星重点)生成器指的是生成器对象,可以由生成器表达式得到,也可以使用yield关键字得到一个生成器函数,调用这个函数得到一个生成器对象生成器对象,是一个可迭代对象,是一个迭代器生成器对象,是延迟计算、惰性求值的生成器函数函数体中包含yield语句的函数,就是生成器函数,调用后返回生成器对象m = (i for i in range(5))print(ty...
2019-04-21 22:52:40
212
原创 python匿名函数 - lambda
匿名函数匿名函数:没有名字的函数Lambda表达式Python中,使用Lambda表达式构建匿名函数lambda x : x ** 2(lambda x : x ** 2)(4)foo = lambda x,y : (x+y) ** 2 #不推荐不如直接定义函数foo(1,2)#等价于def foo(x,y): return (x+y) ** 2foo(1,2)...
2019-04-21 22:50:50
163
原创 python递归函数
递归函数函数执行流程def foo1(b,b1=3): print("foo1 called",b,b1)def foo2(c): foo3(c) print("foo2 called",c)def foo3(d): print("foo3 called",d)def main(): print("main called") foo...
2019-04-21 22:50:27
99
原创 python 函数Function
函数Function数学定义y = f(x),y是x的函数,x是自变量。Python函数由若干语句组成的语句块、函数名称、参数列表构成,它是组织代码的最小单元。完成一定功能函数的作用结构化编程对代码的最基本封装,一般按照功能组织一段代码封装的目的为了复用,减少冗余代码代码更加简洁美观、可读易懂函数的分类内建函数,如max()、min()、...
2019-04-14 12:31:22
1466
原创 python 解析式生成式
列表解析List Comprehension语法[返回值 for 元素 in 可迭代对象 if 条件]使用中括号[],内部是for循环,if条件语句可选返回一个新的列表列表解析式是一种语法糖编译器会优化,不会因为简写而影响效率,反而因优化提高了效率减少程序员工作量,减少出错简化了代码,但可读性增强even = []for x in range(...
2019-04-14 12:22:34
160
原创 python 字典Dict
字典Dictkey-value键值对的数据的集合可变的、无序的、key不重复字典dict定义、初始化d = dict() 或者d = {}dict(**kwargs) 使用name=value对初始化一个字典dict(iterable, **kwarg) 使用可迭代对象和name=value对构造字典,不过可迭代对象的元素必须是一个二元结构(可迭代对象的元素...
2019-04-14 12:19:38
205
原创 python基础语法
1. Python 基础语法一、编程基础程序一组能让计算机识别和执行的指令电子计算机能够执行程序的机器现代计算机艾伦·麦席森·图灵(Alan Mathison Turing,1912年6月23日-1954年6月7日),英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。图灵提出的著名的图灵机模型为现代计算机的逻辑工作方式奠定了基础冯·诺依曼著名匈牙...
2019-03-31 22:31:25
441
原创 Linux软件管理
Linux 软件管理包管理器二进制应用程序的组成部分:二进制文件、库文件、配置文件、帮助文件 程序包管理器:debian:deb文件, dpkg包管理器redhat: rpm文件, rpm包管理器rpm: Redhat Package ManagerRPM Package Manager包管理器工具包之间:可能存在依赖关系,甚至循环依赖解决依赖包管理工...
2019-03-25 00:47:20
450
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人