|
|
|
|
|
|
python中的concurrent.futures模块
摘要:一 : 概述 concurrent.futures模块提供了高度封装的异步调用接口 ThreadPoolExecutor:线程池,提供异步调用 ProcessPoolExecutor: 进程池,提供异步调用 Both implement the same interface, which is de
阅读全文
python中的协程
摘要:一 : 概述 首先,明确并发的本质 : 切换 + 保存状态 CPU在运行一个任务,两种情况下会切换走去执行其他任务(由操作系统强制切换),一是发生了阻塞,二是该任务时间过长. 我们无法对第二种情况提升效率,只是让CPU雨露均沾,实现看起来所有任务都被"同时"执行的结果,如果多个任务都是纯计算的,切换
阅读全文
python中的线程(二)
摘要:六 : 事件 同进程的一样,线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其 他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就会变得非常棘手。为了解决这些问题,我们需要使用threading库中的Event对象。 对象包含一个可由线程设置的信号标志,它
阅读全文
python中的线程(一)
摘要:一 : 概述 进程是资源分配的最小单位,线程是CPU调度的最小单位.一个进程至少拥有一个线程. 进程和线程的区别 : 1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。 2)通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)
阅读全文
python中的进程(三)
摘要:一 : 概述 进程间通信(IPC)的方式有N种,这里我们学习FIFO队列和管道 二 : 队列的创建和使用 队列可以由multiprocessing.Queue创建,它是多线程安全的,可以实现多进程之间的数据传递. 创建 : Queue([maxsize]) , maxsize是队列中允许的最大元素数
阅读全文
python中的进程(二)
摘要:一 : 概述 当多个进程同时访问一个变量或者一个文件的时候,可能会发生数据紊乱的问题,为了解决这个问题,便有了锁这个工具. 二 : 锁的创建和使用 使用到的锁也是在multiprocessing包中的Lock类,要使用锁将它实例化即可. 锁可以使得一个变量或文件在同时只能有一个进程访问,相当于给变量
阅读全文
python中的进程(一)
摘要:一 : 概述 进程由三部分组成 : 代码段,数据段,PCB(进程控制块) Python中的进程编程依赖于multiprocessing这个包,其中Process类就是提供最基础的功能的类 二 : 使用Process类创建进程 使用Process类可以创建新的进程,有两种使用方法: 1.实例化Proc
阅读全文
Python网络编程基础模块之socket
摘要:一 : TCP协议和UDP协议的区别: TCP协议:可靠,面向连接(需要连接),面向字节流形式的传输方式; UDP协议:不可靠(有可能丢失),不面向连接(不需要连接),面向数据报的传输方式,速度快,音频/视频流的传输一般用它. 二 : socket模块的使用 : 1. TCP 模式server端 1
阅读全文
Python--面向对象之封装
摘要:一 : 概述 类中除了类似于name/age这样的普通变量之外,还可以有__hobby这样的变量,名为私有静态变量,相应的,也有这样的私有方法. 私有变量只能在本类中访问,子类和对象都不能使用私有方法也是一样. 通过a1.func1()这行的报错信息,我们可以看到,__money这个变量在内存中其实
阅读全文
Python--面向对象之继承
摘要:一 : 初识继承 继承是为了在在一个类中方便的使用另一个类中的内容. 这段代码中,类Person继承了类Animal,那么我们把类Person称作子类/派生类,把类Animal称作父类/基类/超类. 在python3.x中,所有类默认继承了objec类,如果在定义类的时候不写括号或者括号内没有内容,
阅读全文
Python--面向对象之组合
摘要:一 : 概述 组合就是一个类的对象可以作为另一个类的对象的属性. 这个说法看起来可能有点绕,但是通过代码可以很快理解,并且你会感觉"对,面向对象就应该能这样",而且看起来很cooooooooooool!!! 二 : 演示 需求 : 创建一个人物类和武器类,要求两个人物可以互相攻击,还可以装备武器攻击
阅读全文
Python--面向对象
摘要:一 : 类和对象 类:具有相同属性和技能的一类事物. 对象: 具体的类的表现,具体的实实在在的一个实例. 举例说明 : 人和猫都是动物,那么动物就是一个类,人和猫就是两个对象. 二 : 定义和组成 通过关键字class定义一个类,通过类名()的形式生成一个对象,这个行为称作实例化. 类的内容分为两部
阅读全文
Pyhon中的生成器
摘要:一 : 概况 生成器实质上就是迭代器.有三种方式获得生成器 : 1.通过生成器函数. 2. 通过各种推导式来实现生成器. 3. 通过数据的转换也可以获得生成器. 首先,我们来看一个很简单的函数: 将函数中的return换成yield ,就变成了生成器 这个函数变成生成器函数之后,使用func()就不
阅读全文
Python中的迭代器
摘要:一 : 函数名的运用 1.函数名的内存地址 2.函数名可以赋值给其他变量 3.函数名可以当做容器类的元素 4.函数名可以当做函数的参数 5.函数名可以作为函数的返回值 二 : 闭包 闭包就是内层函数,对外层函数(非全局)的变量的引用 我们可以使用__closure__来检测函数是否是闭包,返回cel
阅读全文
Pyhon的命名空间
摘要:一: 概念 我们给存放名字和值的关系的空间起一个名字叫命名空间. 我们的变量在存储的时候就是存储在这片空间中的. 详细解释: 在python解释器开始执行之后, 就会在内存中开辟一个空间, 每当遇到一个变量的时候, 就把变量名和值之间的关系记录下来, 但是当遇到函数定义的时候, 解释器只是把函数名读
阅读全文
Python--初识函数
摘要:一:定义 对于代码块和功能的封装和定义 二:函数的定义, 函数名, 函数体以及函数的调用 我们使用def关键字来定义函数, 函数的定义语法: 函数名的命名规则和变量基本一致, 函数体就是函数被执行之后要执行的代码 函数名()的形式用来调用函数. 三:函数的返回 return关键字会中断函数,并返回一
阅读全文
Python中的文件操作
摘要:一. 初识文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. 根据打开方式的不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, r+, w+, a+, rb, wb,
阅读全文
Python中的集合
摘要:1.dict中的fromkeys(a, b)函数: 把a迭代后的每一个元素作为一个key,value都是相同的b 这时如果改变b,那么每一个value都将会改变: 2.集合(set) 一般不是很常用. set中的元素是不重复的.无序的.里面的元素必须是可hash的(int, str, tuple,b
阅读全文
Python中的编码和解码
摘要:python3 默认的编码是unicode,加载在内存中的数据就是用的Unicode,保存在硬盘和网络传输的时候用的是utf-8或者GBK 由unicode转换成别的格式需要使用encode(a)函数编码,a为转换后的目标格式,比如转成UTF-8,str.encode('UTF-8') 相反,解码需
阅读全文
Python的关键字is和==
摘要:在描述is和== 的区别之前,需要先认识内置函数id(),该函数返回一个对象(objec)在内存中的地址. 关键字 is 比较的是两端的对象在内存中的地址 == 比较的是两端的对象的值是否相等,无关内存中的地址 用通俗语言来说,就是== 就是用来比较两个人长得像不像,is比较的是"你"是不是"你"本
阅读全文
|
|