python
qq_31241107
灰化肥会发挥
展开
-
python并发编程(七)——IO模型
IO模型IO操作的时间IO模型阻塞IO(blocking I/O)非阻塞IO(noblocking I/O)信号驱动IO (signal blocking I/O)IO多路复用(I/O multiplexing)异步IO(asynchronous I/O)IO操作的时间一个进程中IO的read操作发生时会经历两个阶段的时间:1.进程去系统中获取数据时的等待数据准备时间2.系统接收到发送来的数据,复制后从内核拷贝到进程中的时间如果要想提高IO效率,常见的就是将第一步等待数据的时间降低IO模型I原创 2020-05-09 11:40:22 · 148 阅读 · 0 评论 -
python并发编程(六)——协程
并发编程协程协程进程是资源分配的最小单位,线程是CPU调度的最小单位原创 2020-05-08 23:21:59 · 141 阅读 · 0 评论 -
python并发编程(五)——线程(二)
并发编程线程中的信号量Semaphore线程中的事件Event线程中的Condition定时器线程中的队列线程池线程中的信号量Semaphorethreading模块中Semaphore就是信号量semaphore本质就是一个内置的计数器每当调用acquire()时,内置计数器-1每当调用release()时,内置计数器+1计数器不能小于0,当计数器为0时,acquire()将阻塞线程...原创 2020-05-07 22:49:15 · 122 阅读 · 0 评论 -
python并发编程(四)——线程(一)
并发编程线程线程与进程的区别为什么学线程全局解释器锁GIL线程的使用线程线程是CPU调度的最小单元进程是资源分配的最小单位每一个进程最少有一个线程python 提供了几个用于多线程的模块(thread,threading,Queue等)thread,threading提供了创建和管理线程的方法thread提供了对基本线程和锁的支持,不支持守护线程threading提供了级别更高,功...原创 2020-04-26 23:53:48 · 433 阅读 · 0 评论 -
python并发编程(三)——进程间的控制
并发编程信号量Semaphore事件Event进程的控制锁Lock:加锁后,同一份资源只能一个进程去调用信号量Semaphore:同一时间某一个资源可以同时允许指定个数的进程去访问事件Event:通过信号来控制所有的进程同时执行或进入阻塞信号量Semaphorefrom multiprocessing import Semaphore利用锁的原理实现的,内置了一个计数器,同一时间只...原创 2020-03-30 16:38:32 · 165 阅读 · 0 评论 -
python并发编程(二)——进程间的通信
并发编程进程间的通信队列进程间的通信用文件共享数据可以实现进程间通信,但也有如下的缺点:1.效率低(共享数据基于文件,而文件是硬盘上的数据)2.需要自己加锁处理进程异步是为了提高效率,但是为了数据安全加锁后,将之改为同步又降低的效率 因此我们需要一种解决方案能够兼顾:1、效率高(多个进程共享一块内存的数据)2、数据安全问题的处理。这就是mutiprocessing模块为我们提供...原创 2020-03-30 16:14:27 · 375 阅读 · 0 评论 -
python并发编程(一)——进程
并发编程进程并发编程:实现让程序同时执行多个任务并发的实质是提高CPU的利用效率不是同一时间同时运行多个程序并行:同一时间运行多个程序(必须要多核CPU才能实现)进程操作系统以进程为单位分配存储空间,每个进程都有自己的地址空间、数据栈以及辅助数据不同进程间的数据是不共享的只能通过进程间的通信机制(IPC)来实现数据共享具体的方式包括管道、队列、信号、套接字、共享内存区等...原创 2020-03-09 21:48:10 · 127 阅读 · 0 评论 -
python(十二)——网络编程
网络编程基础概念arp协议TCP协议和UDP协议TCP协议UDP协议互联网的五层协议基础概念C/S 客户端 ——服务器 应用类B/S 浏览器——服务器 web类B/S架构中浏览器就是一个统一入口,通过浏览器访问各个网页C/S中最典型的统一入口就是微信小程序网络编程就是不同机器间的数据传输对于电脑而言,要上网必须有网线,网线是由网卡支持(硬件上)每一个网卡有一个全球唯一的...原创 2020-01-26 22:31:01 · 246 阅读 · 0 评论 -
python(十一)——加密/日志模块
GV原创 2020-01-24 22:27:49 · 167 阅读 · 0 评论 -
python(十)——反射与异常
反射 就是利用字符串来操作相同值的属性或者方法,比如导入模块、调用函数,属性等等, 反射是一种编程方法体现,凝聚了高内聚、松耦合的编程思想, 不能简单的用执行字符串exec和eval来代替。'''4个相关的内置函数hasattr(obj,str):检查模块或者对象中是否有某个成员getattr(obj,str):获取成员setattr(obj,str,value):设置成员de...原创 2020-01-22 16:22:16 · 150 阅读 · 0 评论 -
python(九)——面向对象
异常处理 try: 可能出现的异常 except 具体异常类型: 对异常的处理 except 具体异常类型: 对异常的处理 finally: pass except 可以有多个,except Exception / except 捕捉所有异常,一般写在最后 无论异常是否发生,finally中的代码都会执行#处理迭代器取值越界异常l = [1,2...原创 2020-01-16 22:58:42 · 125 阅读 · 0 评论 -
python(八)——递归,排序,模块
递归 一种直接或间接自身调用自身的过程 必须设定递归程序的出口 递归次数过多会报错,超过递归最大深度(一般不超过1000次,可以自己设置) 递归会使代码变得简洁,但效率极低 import sys sys.setrecursionlimit(10000)设置递归深度 递归次数过多就不要用递归,会消耗大量内存#斐波那契数列def fib(n): if n == 0 or n...原创 2020-01-09 23:14:48 · 322 阅读 · 0 评论 -
python(七)——内置函数,匿名函数
内置函数 python内置了一系列的常用函数作用域相关'''locals():以字典类型返回当前作用域的全部变量globals()以字典类型返回当前位置的全部全局变量'''a = 1def k (): b = 2 print(locals())#输出所有局部变量 print(globals())#输出所有全局变量k() print(locals(...原创 2020-01-02 18:59:48 · 220 阅读 · 0 评论 -
python(六)——装饰器,迭代器,生成器
装饰器def function(f): def inner(*args,**kwagrs): start = time.time() ret = f(*args,**kwagrs) end =time.time() - start print('程序运行时间为%.4f'% end) return ret ...原创 2019-12-31 17:51:38 · 262 阅读 · 0 评论 -
python(五)——函数
函数:函数定义: def 函数名( 参数) : 函数内容 return 返回值函数调用: 函数名()1.return 可以没有,返回值就默认为None2.可以return 多个值,以元组形式返回def function(a,b): return a + b if __name__ == '__main__': print(funct...原创 2019-12-29 22:17:18 · 329 阅读 · 0 评论 -
python(四)文件操作
文件操作 1.文件路径 2.编码方式 3.操作方式:只读,只写,追加,读写,写读。。。只读模式 mode=‘r’ 默认操作方式 f = open('filedown', mode='r', encoding='utf-8') contents = f.read() #一次读取所有内容,返回一个可迭代对象 print(contents) f.close() #文...原创 2019-12-05 14:49:47 · 174 阅读 · 0 评论 -
python(三)数据结构
列表(list)序列是Python中最基本的数据结构序列都可以进行的操作包括索引,切片,加,乘,检查成员Python有6个序列的内置类型,但最常见的是列表和元组列表:存放任意元素的容器,有序,有索引,可切片,用中括号表示[ ]list1 = [1,3,5,7,9,11,'a','b']#列表的定义#方式二 li = list(序列对象) #方式三 lis = ['hello'] * ...原创 2019-11-25 20:06:56 · 205 阅读 · 0 评论 -
python(二)结构语句
分支判断语句 if condition: block elif condition: block elif condition: block else: block1.condition必须为bool类型(其它类型有False等价)False等价:空字符串,0,空字典,空元组,空列表,None。。。。等2.condition必须要有:(冒号)3.block前要有一...原创 2019-11-25 19:32:24 · 213 阅读 · 0 评论 -
python(一)
python@HUpython基础python是一门动态解释型的强类型定义语言静态语言:编译期间做类型检查,需要事先声明变量类型动态语言:程序运行期间做类型检查,声明变量不需要指定类型强类型语言:不同类型之间的操作,需要强制类型转换为同一类型。弱类型:不同类型之间可以操作,自动隐式转换,如js等编译型语言:将程序一次性编译成二进制文件;开发效率低,不能跨平台,执行速度快,如c / ...原创 2019-11-25 16:56:07 · 524 阅读 · 0 评论