随笔分类 - Python
摘要:一.进程池与线程池 python标准模块concurrent.futures(并发未来) 1.concurrent.futures模块是用来创建并行的任务,提供了更高级别的接口,为了异步执行调用 2.concurrent.futures这个模块使用方便,接口都已封装完整 3.concurrent.f
阅读全文
摘要:一.线程概念 线程:在操作系统中,每一个进程有一个地址空间,而且默认就有一个控制线程. 线程顾名思义就是一条流水线工作的过程,一条流水线必须数据一个车间,一个车间的工作过程就是一个进程. 车间负责把资源整合到一起,是一个资源单位,而一个车间至少有一个流水线. 所以进程只是用来把资源集中到一起(进程只
阅读全文
摘要:一.必备基础知识 进程是什么?进程指的是一个正在进行的程序,进程是用来描述程序执行过程的虚拟概念. 进程的概念起源于操作系统,进程是操作系统最核心的概念,操作系统其他所有的概念都是围绕进程来的. 从进程的概念又可以引入一个概念就是操作系统, 为什么要有操作系统? 现代的计算机系统主要是由一个或者多个
阅读全文
摘要:一.基于UDP协议的套接字 UDP协议 UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC
阅读全文
摘要:一.基于tcp的套接字 tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端 tcp服务端 tcp客户端 二.修改bug+通信循环+链接循环 上述存在客户端退出时服务端即会崩溃的bug,而且无法实现用户的多次输入,以及服务端无法一直对外服务的问题,对此进行修改 服务端 客户端 三.模拟
阅读全文
摘要:一.客户端/服务端结构 软件C/S架构: C指的是Client,也就是客户端,而S指的是Server,也就是服务端 互联网中处处是C/S架构 如百度就是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 服务端需要遵循的原则: 1.服务端与客户端都需要有唯一的地址,但是服务端的地址必须固定
阅读全文
摘要:单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在,当希望在整个系统中,某一个类只能出现一个实例时,单例对象就能在这种场景派上用场. 单例的实现方式一:使用classmethod 单例的实现方式二:使用装饰器 单例的实现方
阅读全文
摘要:一.异常处理 异常是错误发生的信号,一旦程序出错就会产生一个异常,如果该异常没有被应用程序处理,那么该异常就会跑出来,程序的执行也随之终止,也就是说异常就是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行,一般情况下,在python无法正常处理程序时就会发生的一个异常,异常也是pytho
阅读全文
摘要:一.绑定方法与非绑定方法 一.绑定方法:绑定给谁就应该由谁来调用,谁来调用就会将谁当作第一个参数传入 1.绑定给对象的方法:类中定义的函数默认就是绑定给对象的 2.绑定给类的方法:为类中定义的函数加上一个装饰器@classmethod 二.非绑定方法:既不与类绑定,又不与对象绑定,意味着对象和类都可
阅读全文
摘要:一.组合 组合指的是某一个对象拥有一个属性,该属性的值是另一个对象 如下: 通过为某一个对象添加属性(属性的值为另一个对象)的方式,可以间接地将两个类关联/整合到一起,从而减少类与类之间的代码冗余 案例如下: 二.多态 多态指的是同一种/类事物的不同形态,不同的子类对象调用相同的父类方法,产生不同的
阅读全文
摘要:一.继承 继承是一种新建类的方式,新建的类从已有的类那里获得其已有的属性与方法,这个新建的类称之为子类,被继承的类称之为父类或/基类/超类 继承的特性:子类遗传父类的属性 在python中,一个子类可以同时继承多个父类,而且在继承背景下,python中的类分为两种:新式类与经典类 新式类:但凡继承了
阅读全文
摘要:一.面向对象介绍 Python从设计之初就已经是一门面向对象的语言,而在之前的学习中其实已经隐性的接触到了面向对象的部分,只是当时不知道. 面向过程:面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西. 优点:
阅读全文
摘要:一.re模块 正则表达式时计算机科学的一个概念,正则表达式通常被用来检索,替换那些符合某个模式的文本,大多数程序设计语言都支持利用正则表达式进行字符串操作. 正则就是用一些具有特殊含义的符号组合到一起来描述字符或者字符串的方法,或者说正则就是用来描述一类事物的规则.它内嵌在python中,并通过re
阅读全文
摘要:一.shelve模块 shelve也是一种序列化方式,在python中shelve模块提供了基本的存储操作,shelve中的open函数在调用的事和返回一个shelf对象,通过该对象可以存储内容,即像操作字典一样进行存储操作.当在该对象中查找元素时,对象会根据已经存储的内容重新构建,当给某个键赋值的
阅读全文
摘要:一.json与pickle json与pickle模块是为了完成数据的序列化. 序列化是指把对象(变量)从内存中变成可存储或传输的过程,在Python中叫picking,在其他语言中也由其他的叫法,但是都是一个意思 序列化是为了解决数据持久保存状态和跨平台数据交互两个问题, 如何实现序列化? jso
阅读全文
摘要:一.time模块 time模块提供各种操作时间的函数 时间三种格式 1.时间戳 以1970年1月1日 00:00:00开始的秒数 2.本地时间 localtime,表示计算机当前的时间 3.UTC世界统一时间 time中的常用函数: time.time() >返回时间戳,返回的是浮点数 time.s
阅读全文
摘要:一.模块的循环导入问题 在python工程中,由于架构不当,可能会出现模块间互相引用的情况.这时候需要通过一些方法来解决这个问题 1.重新设计架构,解决互相引用的关系. 2.把import语句放置在模块的最后 3.把import语句放置在函数中 方法2: 示例代码:拥有两个模块:m1.py和m2.p
阅读全文
摘要:一.模块介绍 模块就是一系列功能的集合体 模块有三种来源: 1.内置模块:python内提供的模块 2.第三方模块:由第三方提供的模块 3.自定义模块:自行定义的模块 模块的格式: 1.使用python编写的py文件 2.已被编译为共享库或DLL的C或C++扩展 3.把一系列模块组织到一起的文件夹(
阅读全文
摘要:一.迭代器 迭代器指的是迭代取值的工具,迭代是指一个重复的过程,每一次重复都是基于上一次结果而来 迭代提供了一种通用的不依赖索引的迭代取值方式 一.可迭代对象 但凡内置有__iter__方法的对象,都称为可迭代对象,可迭代的对象:str,list,tuple,dict,set,文件对象 二.迭代器对
阅读全文
摘要:一.装饰器 什么是装饰器,装饰器就是用于拓展原来函数功能的一种函数 装饰器就是用来为被装饰对象添加新功能的工具,装饰器本身可以是任意可调用对象,被装饰的对象也可以是任意可调用对象 装饰器遵循一个关键原则,开放封闭原则:指的是对修改封闭,对扩展开放 装饰器的实现还必须遵循的两点: 1.不修改被装饰对象
阅读全文