python
文章平均质量分 57
蒸汽金鱼♡
这个作者很懒,什么都没留下…
展开
-
python并发编程(四)
python并发编程(四)文章目录python并发编程(四)一 GIL全局解释锁二 协程一 GIL全局解释锁1 概念GIL全局解释锁:在cpython解释器中,同一个进程下开启多线程,同一时刻只能有一个线程执行,无法利用多核优势gil并不是python的特性,而是在实现python解释器(cpython是大部分环境下默认的python执行环境)时所引入的一个概念。2 介绍GIL的本质也是一把互斥锁,其本质也是将并发编程串行,以此来控制同一时间内共享数据只能被一个任务修改,进而保证数据安全原创 2021-02-09 18:57:03 · 351 阅读 · 0 评论 -
python并发编程(三)
python并发编程(三)文章目录python并发编程(三)一 线程二 python中线程的开启三、多线程socket服务端:客户端:四 线程的其它方法五 守护线程六 信号量七 Event一 线程进程是用来把资源整合在一起的,而线程才是cpu上的执行单位。多线程的概念就是,在一个进程中存在多个控制线程,多个线程共享该进程的地址空间,相当于一个车间内的多条流水线。整死因为线程是共用一个地址空间的,因此在开辟新的线程时,无需再次申请新的内存空间,相对于进程而言,开销更小。进程之间是竞争关系,线程原创 2021-02-08 20:52:05 · 70 阅读 · 0 评论 -
python并发编程(二)
python并发编程(二)一 进程隔离是为了保护操作系统中进程互不干扰的一组不同的硬件和软件技术这个技术是为了避免进程A写入进程B的情况发生。进程的隔离实现,使用了 虚拟地址空间。进程A的虚拟地址和进程B不同,这样就防止进程A将数据信息写入进程B。禁止进程间内存相互访问。二 守护进程守护进程会随着主进程的结束而结束。为主进程创建守护进程后守护进程会在主进程代码执行结束后终止。守护进程内无法再开子进程。import osimport timefrom multiprocessing impo原创 2021-02-08 19:37:23 · 133 阅读 · 0 评论 -
python并发编程(一)
python并发编程(一)记录并发编程相关知识一 进程进程:正在进行的一个过程或者任务,负责执行任务的是cpu。同一个程序进行两次,则是两个进程。一个cpu在一个时刻只能执行一个任务,而不论进程还是线程都是一种任务而已****进程的调度:1.先来先服务调度算法:先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。由此可知,本算法适合于CPU繁忙型作业,而不利于I/O繁忙型的作业(进程)。原创 2021-02-06 16:26:34 · 64 阅读 · 0 评论 -
python装饰器
python装饰器简单来说装饰器是用来给被装饰对象添加新功能的装饰器可以分为有参装饰器和无参装饰器两种,函数嵌套+函数闭包+函数对象无参装饰器模板def outter(func): def wrapper(*args,**kwargs): #1 调用原函数 #2 为其增加新功能 res=func(*args,**kwargs) return res return wrapper 有参装饰器模板def deco(x,y,z):原创 2021-01-17 14:57:28 · 105 阅读 · 0 评论 -
python 迭代器和生成器
一 迭代python中‘’万物皆可迭代‘’ 字符串 列表 元组 字典。 只要是可迭代对象都可迭代内置__iter__方法的都是可迭代对象{'name':'小明'}.__iter__{1,2,3}.__iter__……# 1、迭代字符串for char in 'python' : print ( char , end = ' ' )# p y t h o nprint('\n')# 2、迭代 listlist1 = [1,2,3,4,5]for num1 in list1原创 2021-01-15 17:32:20 · 99 阅读 · 0 评论 -
python匿名函数
用lambda定义匿名函数基本语法lambda [arg1 [,arg2,.....argn]]:expression例sum = lambda num1 , num2 : num1 + num2;print( sum( 1 , 2 ))#结果为 3 尽管 lambda 表达式允许你定义简单函数,但是它的使用是有限制的。 你只能指定单个表达式,它的值就是最后的返回值。也就是说不能包含其他的语言特性了, 包括多个语句、条件表达式、迭代以及异常处理等等num2 = 100sum1 = l原创 2021-01-15 14:27:44 · 83 阅读 · 0 评论 -
python爬虫bs4 xpath数据解析
数据解析在爬取网页后,通常需要将爬取到的内容进行分割提取,拿到我们想要的文本内容或者相应的地址url。bs4数据解析安装bs4模块,并导入from bs4 import BeautifulSoup步骤详情见注释fp =open('/.test.html','r',encoding='utf-8')#将本地的html文档中的数据记载到该对象中soup =BeautifulSoup(fp,'lxml')print(soup.a)# 结果拿到a标签内容 soup.tagn原创 2021-01-15 13:16:29 · 171 阅读 · 0 评论 -
python正则表达式
python正则表达式笔记学习正则表达式笔记代码如下:import re#match 匹配以xxx开头的字符串,第一个参数是正则,第二个是所需要匹配的字符串strdata='python is best'res=re.match('y',strdata,re.I)#re.I忽略大小写print(res)#对象res.group()#匹配的值res.groups()#元组形式直接输出(不支持索引)res.group(1)#如果有多个匹配结果以元组的形式存放在哪group对象中r原创 2021-01-12 20:06:15 · 83 阅读 · 0 评论