摘要: 协程 1,定义: 协程:是单线程下的并发,又称微线程,纤程 协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的 python的线程属于内核级别的,即由操作系统控制调度,如果单线程遇到IO阻塞或者长时间CPU就会且走,执行其他程序 单线程开启协程,一旦遇到IO阻塞,就会从应用程序级别控制切 阅读全文
posted @ 2019-12-13 12:23 阿浪阿浪 阅读(160) 评论(0) 推荐(0)
摘要: Even事件 1,定义 同进程的一样 ,线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其 他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就会变得非常棘手。为了解决这些问题,我们需要使用threading库中的Event对象。 对象包含一个可由线程设置的 阅读全文
posted @ 2019-12-13 12:21 阿浪阿浪 阅读(193) 评论(0) 推荐(0)
摘要: 1,堆栈结构 后进先出的队列 栈结构:其实就是一个后进先出的一个线性表,只能在栈顶压入或弹出元素 如何用列表实现栈 2,队列 队列,类似于栈 队列,其实就是一个先进先出的线性表,只能在队首执行删除操作,在队尾执行插入操作,用列表表示队列,可以用append()方法实现队尾插入元素,用pop(0)方法 阅读全文
posted @ 2019-12-13 12:19 阿浪阿浪 阅读(143) 评论(0) 推荐(0)
摘要: 同步异步 1,同步 同步是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那个这个进程会一直等待下去,直到收到返回信息,才继续执行下去 2,异步 是指进程不需要一直等待下去,而是继续执行下面的操作,不管其他进程 的状态,当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率 阅读全文
posted @ 2019-12-13 12:17 阿浪阿浪 阅读(145) 评论(0) 推荐(0)
摘要: 多线程 1,GIL全局解释器锁 1. python GIL:(Global Interpret Lock)全局解释器锁 2. CPython解释器自动加载GIL锁,基于单核CPU的GIL锁,为了保证数据的安全,单个进程的多线程不能利用多核,即可以并发,但是不能并行,多个进程可以并发,并行 3. JP 阅读全文
posted @ 2019-12-13 12:13 阿浪阿浪 阅读(189) 评论(0) 推荐(0)
摘要: 死锁现象与递归锁 1. 死锁: 是指两个或两个以上的进程或线程在执行过程中,因为争夺资源而造成的一种互相等待的现象,若无外力作用,他们都将无法推进下去,此时系统处于死锁状态或系统产生了死锁,这些永远在等待的进程称为死锁进程 2. 递归锁 1. 解决死锁现象的方法:就是递归锁 2. 同一把锁,引用一次 阅读全文
posted @ 2019-12-13 12:11 阿浪阿浪 阅读(130) 评论(0) 推荐(0)
摘要: 线程 1,生产者消费者模型 1. 什么是生产者与消费者模型 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题,生产者和消费者之间不直接通讯,而通过阻塞队列来通讯,阻塞队列就相当于一个缓冲区,平衡了生产者和消费者的处理能力 在并发编程中使用生产者和消费者模式能够解决大多数并发问题,该模式 阅读全文
posted @ 2019-12-13 12:08 阿浪阿浪 阅读(390) 评论(0) 推荐(0)
摘要: 互斥锁 锁:from multiprocessing import Lock,Lock即为锁 lock与join的区别 共同点:都可以把并发变成串行,保证了顺序 不同点:join人为设定顺序,lock让其争抢顺序,保证了公平性 进程之间的通信 1,基于文件通信 效率低 应用到了互斥锁:可以公平性的保 阅读全文
posted @ 2019-12-13 12:04 阿浪阿浪 阅读(183) 评论(0) 推荐(0)
摘要: 多进程 1, multiprocessing模块介绍 multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模块threading的编程接口类似。 multiprocessing模块的功能众多:支持子进程、通信和共享数据、执行不同形式的同步,提供 阅读全文
posted @ 2019-12-13 12:02 阿浪阿浪 阅读(191) 评论(0) 推荐(0)
摘要: 进程 1,进程的基础 1. 程序 一堆静态的代码文件 2. 进程 一个正在运行的程序进程,抽象的概念 由操作系统操控调用与CPU运行 3. 操作系统 1. 管理控制协调计算机中硬件与软件的关系 2. 作用 1. 将一些对硬件操作的复杂丑陋的接口,变成简单美丽的接口 2. 多个进程抢占一个CPU时资源 阅读全文
posted @ 2019-12-13 11:51 阿浪阿浪 阅读(127) 评论(0) 推荐(0)
摘要: socket 1,定义 1. 套接字 1. 基于tcp协议 2. socket是基于应用层与传输层之间的抽象层,是一组操作起来非常简单的接口,接收应用层的数据,然后传给操作系统 2. 分类: 1. 基于文件类型的套接字家族:AF UNIX,不常用 2. 基于网络类型的套接字家族:AF INET 3. 阅读全文
posted @ 2019-12-13 11:49 阿浪阿浪 阅读(126) 评论(0) 推荐(0)
摘要: 网络协议 1,七五协议 1. 应用层(表示层,会话层) 1. FTP协议:文件传输协议,工作TCP\IP模型的应用层,基于TCP的传输协议,面向连接的流式协议,提供可靠的数据传输 2. 规定应用程序的数据格式 2. 传输层 1. 端口协议:建立端口到端口的通行 2. TCP协议:面向链接的流式协议, 阅读全文
posted @ 2019-12-13 11:46 阿浪阿浪 阅读(115) 评论(0) 推荐(0)
摘要: 双下方法 1. 定义: 1. 双下方法是特殊方法 2. 原来是Python这个语言的程序员用于源码使用的 3. 一种特殊的机制:你不知道你干了什么就触发了某个双下方法 2. __len__ 1. 3. __hash__ 1. 类的实例化对象也是可哈希的 2. 可哈希对象得到哈希值 1. 4. _st 阅读全文
posted @ 2019-12-13 11:43 阿浪阿浪 阅读(306) 评论(0) 推荐(0)
摘要: 规范目录 1,配置starts文件 配置启动文件:将项目的启动执行命令放置在starts.py文件中,运行starts.py文件就可以成功启动项目 bin\starts.py 2,配置settings文件 配置文件中,放置一些项目中需要的静态参数,比如文件路径,数据库配置,软件的默认设置等等,在这里 阅读全文
posted @ 2019-12-13 11:16 阿浪阿浪 阅读(132) 评论(0) 推荐(0)
摘要: re模块 1,正则表达式 | | | | : | : | | \w | 匹配字母(包含中文)或数字或下划线 | | \W | 匹配非字母(包含中文)或数字或下划线 | | \s | 匹配任意的空白符(换行符,制表符,) | | \S | 匹配任意非空白符 | | \d | 匹配数字 | | \D | 阅读全文
posted @ 2019-12-13 10:45 阿浪阿浪 阅读(330) 评论(0) 推荐(0)
摘要: collection 在内置数据类型的基础上,增加了几个额外的数据类型 namedtuple 生成可以还是用名字来访问元素内容的tuple 写元组的时候,例如经纬度 deque 双端队列,可以快速的从另外一侧追加和推出对象 pass counter 计数器,主要是用来计数 计算每个元素出现的次数 o 阅读全文
posted @ 2019-12-13 10:43 阿浪阿浪 阅读(185) 评论(0) 推荐(0)
摘要: hashlib 1,定义 hashlib:摘要算法/加密算法/哈希算法/散列算法 定义:通过一个函数,把任意长度的数据按照一定规则转换为一个固定的长度的数据 串,通常用16进制的字符串表示 特征要点: bytes数据类型→通过hashlib算法→固定长度的字符串 不同的bytes类型数据转化成的结果 阅读全文
posted @ 2019-12-13 10:37 阿浪阿浪 阅读(260) 评论(0) 推荐(0)
摘要: sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息 sys.exi 阅读全文
posted @ 2019-12-13 10:32 阿浪阿浪 阅读(644) 评论(0) 推荐(0)
摘要: os模块 1,文件夹相关 os模块是与操作系统交互的一个接口 功能:工作目录,路径,文件等相关 目录:文件夹当前目录,工作目录,父级目录,指的都是同一个,就是文件所在的文件夹 2,文件相关 3,路径相关 4,操作系统相关 5, 获取文件/目录信息的结构说明 6,工作路径 阅读全文
posted @ 2019-12-13 10:25 阿浪阿浪 阅读(776) 评论(0) 推荐(0)
摘要: pickle pickle模块是将Python中所有的数据结构以及对象转换成bytes类型,然后还可一个反序列化还原回去 Python语言识别的序列化模块,中国人作为第一交流语言,Python自带的,只有Python可用 pickle支持Python所有的数据结构类型,能将所有的数据结构序列化成特殊 阅读全文
posted @ 2019-12-13 10:23 阿浪阿浪 阅读(596) 评论(0) 推荐(0)
摘要: 序列化模块 1,定义 序列化:就是将一种数据结构(如字典,裂变)等转换成一个特殊的序列(字符串或者bytes)的过程就叫序列化 序列化模块:就是讲一个常见的数据结构转化成一个特殊的序列,并且这个特殊的序列还可以反解回去,他的主要用途:文件读写数据,网络传输数据 数据结构→字符串→bytes→→网路传 阅读全文
posted @ 2019-12-13 10:22 阿浪阿浪 阅读(1820) 评论(0) 推荐(0)
摘要: random random.random() 0~1 之间随机取值 random.uniform(1,10) 1~10内随机取值 random.randint(1,50) 1~50 (闭区间) random.randrange(1,5,2) 步长取值 print(random.choices([1, 阅读全文
posted @ 2019-12-13 10:19 阿浪阿浪 阅读(217) 评论(0) 推荐(0)
摘要: datetime dateime :对象,Python一切皆对象 datetime.now() :获取当前时间 datetime(2019,7,25,15,20,00) ——————2019 7 2515:20:00 获取的是一个对象 用处:记录日志时使用,计算时间 阅读全文
posted @ 2019-12-13 10:18 阿浪阿浪 阅读(233) 评论(0) 推荐(0)
摘要: TIME模块 import time(导入time模块) time.time() :时间戳,浮点数(float) time.sleep():睡眠,单位是秒 time.gmtime():time.localtime():结构化时间 数据类型是命名元组 time.strftime('格式化',结构化时间 阅读全文
posted @ 2019-12-13 10:16 阿浪阿浪 阅读(90) 评论(0) 推荐(0)
摘要: 模块分类 内置模块:又叫标准库,Python解释器自带的.py文件 第三方模块:大神手下,需要下载 自定义模块:自己定义的模块 模块的优点:避免写重复代码 ​ 可以多次利用 ​ 拿来主义 自定义模块 import : 导入模块的方式 在当前的名称空间中开辟一个新的空间 将模块中的所有代码执行 通过模 阅读全文
posted @ 2019-12-13 10:14 阿浪阿浪 阅读(148) 评论(0) 推荐(0)
摘要: 装饰器 1,开放封闭原则 定义:对修改封闭,对扩展开放 2,装饰器 作用:在不修改源码及函数调用方式的前提下对函数进行扩展 @wrapper:语法糖 有参装饰器 在装饰器的基础上再套上一层 多装一装饰器 多个装饰器装饰一个函数 先执行离被装饰的函数最近的语法糖 小技巧:进入装饰器从上往下,走到最后一 阅读全文
posted @ 2019-12-13 10:11 阿浪阿浪 阅读(133) 评论(0) 推荐(0)
摘要: 闭包 闭包是嵌套在函数中的函数 闭包必须是内层函数对外层函数的变量(非全局变量)的引用 函数名.__code__.co_freevars 查看函数的自由变量 函数名.__code__.co_varnames 查看函数的局部变量 闭包的作用:保存局部信息不被销毁,保证数据的安全性 应用:可以保存一些非 阅读全文
posted @ 2019-12-13 10:09 阿浪阿浪 阅读(131) 评论(0) 推荐(0)
摘要: 内置函数 1,初级内置函数 eval:执行字符串类型的代码,并返回最终结果。 exec:执行字符串类型的代码。 以上两个内置函数很强大 工作中禁止使用 hash:获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。 help:函数用于查看函数或模块用途的详细说明。 callab 阅读全文
posted @ 2019-12-13 10:08 阿浪阿浪 阅读(184) 评论(0) 推荐(0)
摘要: 迭代器 1,可迭代对象 在Python中,含有iter方法的对象,都是可迭代对象 str ,list,dict,set,tuple都是可迭代对象 判断方法:print(dir(数据类型)),查看源码 优点:,使用灵活,可以直观的查看里面的数据 缺点:占用内存 2,迭代器 可迭代对象执行obj.__i 阅读全文
posted @ 2019-12-13 10:03 阿浪阿浪 阅读(118) 评论(0) 推荐(0)
摘要: 函数的名称空间 内置空间:Python内置函数 全局空间:当前py 文件需要开辟的空间存放在全局空间 局部空间:函数中开辟 的空间就是局部空间 加载顺序:内置空间 全局空间 局部空间 取值顺序:局部空间》全局空间》内置空间 作用域: 全局作用域:内置空间+全局空间 局部作用域:局部空间 函数的嵌套 阅读全文
posted @ 2019-12-13 10:01 阿浪阿浪 阅读(202) 评论(0) 推荐(0)
摘要: 函数的参数 1,定义 形参:函数的定义的括号里是形参 默认参数(a,b) 优先级,位置 默认 位置参数(c=2) 实参:函数的调用括号里是实参 位置参数 关键字参数 混合参数 传参:将实参传递给形参的过程 位置传参时,形参和实参必须一一对应 函数的动态参数 动态位置参数 位置参数 动态位置参数( a 阅读全文
posted @ 2019-12-13 09:57 阿浪阿浪 阅读(149) 评论(0) 推荐(0)
摘要: 面向函数式编程 1,def func() def:关键字 func:函数名——和变量名的定义规则一样 () 必须要写格式,传递参数 : 声明语句结束 定义函数规则 def func(): ​ 函数体 函数:减少代码重复性 代码可读性行高 将功能进行封装(造工具) 调用函数 函数名+() 多次调用就是 阅读全文
posted @ 2019-12-13 09:55 阿浪阿浪 阅读(187) 评论(0) 推荐(0)
摘要: 文件操作 1,文件操作 open() 打开文件 open('a.txt','r',encoding='utf 8'),默认代开模式为"r" file 文件路径 mode 操作文件的模式 encoding 文件的编码集 Windows的编码方式为gbk Linux的编码方式为utf 8 文件用什么编码 阅读全文
posted @ 2019-12-13 09:49 阿浪阿浪 阅读(164) 评论(0) 推荐(0)
摘要: 1,算术运算 a = 10,b = 20 | 运算符 | 描述 | 实列 | | | | | | + / | 加减乘除 | 。。。。 | | % | 取模——返回除法的余数,即取余 | a%b=10,b%a=0 | | | x y,即x 的y次方 | a 2=100 | | // | 取整数,又叫地 阅读全文
posted @ 2019-12-13 09:45 阿浪阿浪 阅读(132) 评论(0) 推荐(0)
摘要: if语句 1,if 如果,那么。。。单一判断 2,if elif。。 如果,或者。。 3,if elif else 4, if 嵌套 while循环 1,语法 while 条件: ​ 循环体1 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。 [^]: 如果条件为假,那么循环体 阅读全文
posted @ 2019-12-13 09:41 阿浪阿浪 阅读(248) 评论(0) 推荐(0)
摘要: 字典 1,定义 字典是无序的,可变的, 用于储存数据,储存大量数据, 字典要比列表快,可以将数据和数据之间进行关联 英文dict 简写 dic,使用大括号{} 字典中逗号(,)分隔每一个元素 2,字典的键对值 字典的’键‘: 字典的值: 字典的方法 1,字典的增 如果dict 中没有出现这个key, 阅读全文
posted @ 2019-12-13 09:34 阿浪阿浪 阅读(263) 评论(0) 推荐(0)
摘要: ,元组 1,定义 元组用于存储一些比较重要的信息 元组在配置文件中使用 元组是不可变的列表 有序,不可变,可索引 tu = (1992,1103,'david',True) 2,range(范围) python3 中的range是一个可迭代对象 python2 中的range 返回值是列表 pyth 阅读全文
posted @ 2019-12-13 09:30 阿浪阿浪 阅读(149) 评论(0) 推荐(0)
摘要: 列表 有序,可变,可索引 作用:储存数据,支持很多数据类型(int,str,bool,list,tu,dict) 英文逗号分割每一个元素 列表的方法 1,增加 lst.append() append()方法:在末尾添加元素 原地修改列表,是真正意义上的在列表尾部添加元素,速度较快。 lst.inse 阅读全文
posted @ 2019-12-13 09:23 阿浪阿浪 阅读(178) 评论(0) 推荐(0)
摘要: 字符串 加了引号的字符就是字符串类型 用于标识:描述性的内容,如姓名,性别,国籍,种族 字符串 常用单引号 双引号 :msg = "My name is Egon , I'm 18 years old!" 多引号:msg = ''' ​ 二零一九年 ​ 七月四号 ​ 天气晴 ​ ''' 多行字符串用 阅读全文
posted @ 2019-12-13 09:20 阿浪阿浪 阅读(163) 评论(0) 推荐(0)
摘要: 数字 int:整型(整数),用于标识:年龄,等级,身份证号,qq号,个数 python2中整数的位数为: 2 63~2 63 1(64位电脑) ​ : 2 31~2 31 1(32位电脑) 超出范围后python自动将其转换成long(长整型) 在python2中整型除法只能保留整数位 python 阅读全文
posted @ 2019-12-13 09:17 阿浪阿浪 阅读(247) 评论(0) 推荐(0)
摘要: 一,python简介 1,创始人 吉多·范罗苏姆 龟叔 Guido 2,发展史 1989年,Guido开始写Python语言的编译器。 1991年,第一个Python编译器诞生。它是用C语言 实现的,并能够调用C语言的库文件 2004年, 同年目前最流行的WEB框架Django 诞生,Python 阅读全文
posted @ 2019-12-13 09:11 阿浪阿浪 阅读(202) 评论(0) 推荐(0)