自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 python journey

Python Journey Set Flag 不抱幻想,不心存侥幸,唯有努力才是出路!

2019-03-24 23:06:00 535

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除