进程线程携程
进程: cpu分配的资源的最小单位,可以同时并行多个。例如:cpu分配资源,qq,vx,网页等等,一个app就是一个进程,每个进程默认至少有一个线程。,进程的开销资源十分的大,但是可以使用多核。
进程关键字:muitiprosessing
线程:线程不可以并行,只能并发,我们看起来是并行的是以为处理速度很快,我们所能观察到的是并行。例如:在app中,多个人给你发消息,默认创建一个进程。线程的资源开销相对来说比较小,不可以使用多核
线程关键字:threading
携程:携程是线程里面的,它可以同时处理多个任务,而不相互影响,携程在线程里面。携程的内存效率很高,需要一个加载一个,并不是全部加载到内存里面的。
携程关键字:yield
进程/线程/携程的对比与应用
下面我会拿魔术师举例子:
协程:单线程魔术师,手里抛接多个球(I/O等待时换件事做)
线程:多个魔术师,但只有一个能表演(GIL限制)
进程:多个魔术师,各自独立表演 (完全独立)
正则表达式
正则表达式的内容很多需要自己练习,和一些细节上的把控,需要多加练习,我大概讲一下大体需要的东西。
主要用到是python中的re模块,分为三大匹配方式,一个是match,一个是search,一个是findall,三大关键字。
match:单一匹配,从到开始匹配,匹配第一个,需要使用(对象.group)获取数据(可用于验证码匹配)
search:全文检索,如果有多个,只输出第一个相同的,需要使用(对象.group)获取数据
findall:顾名思义,检索全文,把搜索到的都展示出来,由于可能会有多个,底层用的是列表接收的,这里可以直接打印