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