随笔分类 - 02 python基础
python基础
摘要:import operator #按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1)) print sorted_x #[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)] #如果要降序排序...
阅读全文
摘要:相关名词解析 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回。按照这个定义, 其实绝大多数函数都是同步调用。但是一般而言,我们在说同步、异步的时候, 特指那些需要其他部
阅读全文
摘要:注意 1.不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池。其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉2.只要你用并发,就会有锁的问题,但是你不能一直去自己加锁吧那么我们就用QUEUE,这样还解决了自动加锁的问题由Queue延伸出的一个点也非常重要的概念。以
阅读全文
摘要:一、死锁现象与递归锁 进程也是有死锁的 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用, 它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程, 如下就是死锁 #死锁现象 死锁 from thr
阅读全文
摘要:一多线程的概念介绍 threading模块介绍 threading模块和multiprocessing模块在使用层面,有很大的相似性。 二、开启多线程的两种方式 创建线程的开销比创建进程的开销小,因而创建线程的速度快。 #开启进程的第一种方式 from multiprocessing import
阅读全文
摘要:一、什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。 多线程(即多个控制线程)的概念是,在一个进程中存在多个控制线程,多个控制线程
阅读全文
摘要:一、数据共享 1.进程间的通信应该尽量避免共享数据的方式 2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的。 虽然进程间数据独立,但可以用过Manager实现数据共享,事实上Manager的功能远不止于此。 命令就是一个程序,按回车就会执行(这个只是在windows情况下
阅读全文
摘要:一、互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理。 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行的修改,没错,速度是慢了,牺牲了速度而保证了数据安全。 1.上厕所的小例子:你上厕所的时候肯定得锁门
阅读全文
摘要:一、multiprocessing模块介绍 python中的多线程无法利用CPU资源(主要指计算密集型任务),在python中大部分情况使用多进程。python中提供了非常好的多进程包multiprocessing。 multiprocessing模块用来开启子进程,并在子进程中执行功能(函数),该
阅读全文
摘要:一、什么是进程 进程:正在进行的一个过程或是一个任务。而负责执行任务的是CPU。 举例:(单核+多道,实现多个进程的并发): 比如说你就是一个CPU,你下午有几个活要干,吃饭,洗衣服,上厕所等。但是就在那一下午要把所有的事干完(而CPU同一时间只能干一件事),那么如何才能让多个任务实现并发执行的效果
阅读全文
摘要:一、什么是粘包 须知:只有TCP有粘包现象,UDP永远不会粘包 粘包不一定会发生 如果发生了:1.可能是在客户端已经粘了 2.客户端没有粘,可能是在服务端粘了 首先需要掌握一个socket收发消息的原理 应用程序所看到的数据是一个整体,或说是一个流(stream),一条消息有多少字节对应用程序是不可
阅读全文
摘要:一、网络协议 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构(互联网中处处是C/S架构):B/S架构也是C/S架构的一种,B/S是浏览器/服务器 C/S架构与socket的关系:我们用socket就是为了完成C/S架构的开发 osi七层 引子: 须知一个完整的计算机系统是由硬件
阅读全文
摘要:一、创建类的执行流程 二、元类的认识 什么是元类呢?在Python3中继承type的就是元类 二、元类的示例 # 方式一 class MyType(type): '''继承type的就是元类''' def __init__(self,*args,**kwargs): print("MyType创建的
阅读全文
摘要:一、错误与异常 程序中难免会出现错误,而错误分为两种 1.语法错误:(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正) 2.逻辑错误:(逻辑错误),比如用户输入的不合适等一系列错误 那什么是异常呢? 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下。异
阅读全文
摘要:一、静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静
阅读全文
摘要:一、什么是单例模式 保证一个类只有一个实例,并提供一个访问它的全局访问点 二、优点 对唯一实例的受控访问 单利相当于全局变量,但防止了命名空间被污染 与单利模式功能相似的概念:全局变量、静态变量(方法) 试问?为什么用单例模式,不用全局变量呢? 答、全局变量可能会有名称空间的干扰,如果有重名的可能会
阅读全文
摘要:一、回顾 面向对象 1.类:具有相同属性和方法 的一类事物 类名可以实例化一个对象 类名可以调用类属性,(静态属性 和(方法)动态属性) 2.对象:也就是实例 对象名:调用对象属性 调用方法 3.什么叫抽象? 从小到大的过程 4.组合 什么有什么的关系(将一个类的对象当做另一个类的属性) 5.继承
阅读全文
摘要:1.封装: 什么是封装呢?(封装不是单纯意义的隐藏,其实它还是可以查看的) 就是把一些不想让别人看的给隐藏起来了 封装数据:目的是保护隐私 功能封装:目的是隔离复杂度 如果用了私有的,在类的外部,无法直接使用变形的属性,但是在类的内部可以直接使用 # 对象名.属性名取值的三种方法 1.用我们常用的_
阅读全文
摘要:一、组合 组合:组合指的是,在一个类中以另外一个类的对象(也就是实例)作为数据属性,称为类的组合 也就是说:一个类的属性是另一个类的对象,就是组合 例子: 圆环是由两个圆组成的,圆环的面积就是外圆的面积减去内圆的面积。圆环的周长就是内圆的周长加上外圆的周长,这个时候,我们首先设计一个圆形类,计算一个
阅读全文
摘要:一、面向过程:面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。 优点:极大地降低了写成学的复杂度,只需要顺着执行的步骤,堆叠代码即可 缺点:一套流水线或者流程就是用来解决一个问题,如果修改代码就都得改变 二
阅读全文

浙公网安备 33010602011771号