Python基础
文章平均质量分 85
Python定义:是一个免费、开源、跨平台、动态、面向对象的编程语言。
PPPsych
这个作者很懒,什么都没留下…
展开
-
Python并发编程—补充:paramiko模块
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例原创 2021-04-11 23:02:11 · 192 阅读 · 0 评论 -
Python并发编程—IO模型
文章目录一、IO模型介绍二、阻塞IO(blocking IO)三、非阻塞IO(non-blocking IO)四、多路复用IO(IO multiplexing)五、异步IO(Asynchronous I/O)六、IO模型比较分析七、selectors模块实现IO复用中的三个API(select、poll和epoll)的区别和联系:1 select2 poll3 epoll总结实例:基于selectors模块实现聊天一、IO模型介绍为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞:原创 2021-04-11 19:50:10 · 87 阅读 · 0 评论 -
Python并发编程—协程
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例原创 2021-04-11 19:02:54 · 116 阅读 · 0 评论 -
Python并发编程—线程
文章目录一、线程的基本概念二、线程与进程的关系三、线程的特点四、线程的实际使用场景五、内存中的线程六、用户级线程和内核级线程(了解)1 用户级线程2 内核级线程3 用户级与内核级线程的对比4 混合实现七、python线程模块—threading模块1 开启线程的两种方式2 在一个进程下开启多个线程与在一个进程下开启多个子进程的区别3 练习:多线程实现socket4 线程相关的其他方法5 守护线程6 全局解释器锁GIL6.1 python中的GIL6.2 GIL介绍6.3 GIL与Lock6.4 GIL与多线原创 2021-04-11 17:51:51 · 160 阅读 · 0 评论 -
Python并发编程—进程
文章目录知识储备一、什么是进程二、进程与程序的区别三、并发与并行四、同步\异步(重点)五、阻塞\非阻塞(重点)六、进程的创建与终止(了解)七、进程的层次结构八、进程的状态九、进程并发的实现(了解)知识储备提示:以下是本篇文章正文内容一、什么是进程二、进程与程序的区别三、并发与并行四、同步\异步(重点)五、阻塞\非阻塞(重点)六、进程的创建与终止(了解)七、进程的层次结构八、进程的状态九、进程并发的实现(了解)...原创 2021-04-11 00:43:58 · 375 阅读 · 0 评论 -
操作系统简介
文章目录一、为什么要有操作系统二、什么是操作系统三、操作系统与普通软件的区别四、操作系统发展史1 第一代计算机(1940~1955):真空管和穿孔卡片2 第二代计算机(1955~1965):晶体管和批处理系统3 第三代计算机(1965~1980):集成电路芯片和多道程序设计4 第四代计算机(1980~至今):个人计算机一、为什么要有操作系统现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。一般而言,现代计算机系统是一个复杂的系统。原创 2021-04-10 17:44:38 · 293 阅读 · 0 评论 -
Python网络编程—socket套接字
文章目录一、什么是socket二、套接字的发展史及分类三、套接字工作流程四、基于TCP的套接字五、基于UDP的套接字六、粘包1 粘包现象2 粘包的成因3 粘包的解决方法3.1 方案一3.2 方案二:struct模块3.2.1 struct模块介绍3.2.1 使用struct解决黏包七、验证客户端连接的合法性八、socketserver模块一、什么是socketSocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP原创 2021-04-09 20:00:58 · 351 阅读 · 0 评论 -
Python网络编程—计算机网络
文章目录前言一、软件开发的架构1 C/S架构2.B/S架构二、计算机网络1 计算机网络的发展和基础网络概念1.1 早期:联机1.2 以太网:局域网与交换机1.3 广域网与路由器1.4 TCP协议与UDP协议2 互联网协议和osi模型前言假如有两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据,你要怎么做呢?这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.转载 2021-04-09 16:38:09 · 406 阅读 · 0 评论 -
扩展—Python中的单例模式
文章目录一、什么是单例模式二、实现单例模式的几种方式1 使用模块2 使用装饰器3 使用类4 基于__new__方法实现5 基于metaclass方式实现一、什么是单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。二、实现单例模式的几种方式1 使用模块Python 的模块就是天然的单例模式,因为模块在第一次导入时,会生成 .pyc 文件,当第二次导入时,就会直接加载 .pyc 文件,而不会再次执行模块代码。因此,我们原创 2021-04-08 23:28:38 · 86 阅读 · 0 评论 -
Python面向对象—面向对象高级
文章目录一、isinstance和issubclass二、反射1 什么是反射2 python面向对象中的反射3 反射的好处三 、__ setattr__,__ delattr__,__ getattr__四、__ getattribute__五、描述符(__ get__,__ set__,__ delete__)1 什么是描述符2 描述符的作用3 描述符种类4 注意事项5 描述符的使用6 描述符总结六、再看property七、__ setitem__,__ getitem__,__ delitem__八、_原创 2021-04-08 23:09:34 · 191 阅读 · 0 评论 -
Python面向对象—初识面向对象
文章目录一、什么是面向对象的程序设计二、初识面向对象1 类的相关知识1.1 类的声明1.2 类的两种作用1.2.1 属性引用(类名.属性)1.2.2 实例化2 对象的相关知识3 类与对象小结:类的定义以及调用的固定模式4 对象之间的交互5 类命名空间与对象、实例的命名空间6 类的组合用法7初识面向对象小结三、面向对象的三大特性1 继承1.1 什么是继承1.2 继承与抽象1.3 继承与重用性1.4 派生1.5 接口类与抽象类1.5.1 接口类1.5.2 抽象类1.6 钻石继承1.7 小结2 多态2.1 多态2原创 2021-04-08 17:09:06 · 331 阅读 · 1 评论 -
Python常用设计模式—行为型模式
文章目录一、责任链模式二、观察者模式三、策略模式四、模板方法模式一、责任链模式责任链模式的内容:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链并沿着这条链传递该请求,直到有一个对象处理它为止。责任链的角色有抽象处理者、具体处理者和客户端。from abc import ABCMeta, abstractmethod# 抽象的处理者class Handler(metaclass=ABCMeta): @abstractmethod de原创 2021-01-13 16:27:49 · 163 阅读 · 0 评论 -
Python常用设计模式—结构型模式
文章目录一、适配器模式二、桥模式三、组合模式四、外观模式五、代理模式一、适配器模式将一个类的接口转换成客户希望的另外一个接口,适配器使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。实现适配器的两种方式,类适配器使用多继承,对象适配器使用组合。组合就是一个类中放入另一类的对象。 先来看下组合:class A: pass class B: def __init__(): self.a = A()类适配器模式使用示例:# 类适配器模式使用示例:from abc import原创 2021-01-13 16:22:32 · 198 阅读 · 0 评论 -
Python常用设计模式—创建型模式
文章目录一、简单工厂模式二、工厂方法模式三、抽象工厂模式四、建造者模型五、单例模式六、创建型模式概述一、简单工厂模式简单工厂模式不是23中设计模式中的,但是必须要知道。简单工厂模式不直接向客户端暴露对象创建的细节,而是通过一个工厂类来负责创建产品类的实例。简单工程模式的角色有:工厂角色、抽象产品角色、具体产品角色,通过例子来加深理解:from abc import ABCMeta, abstractmethod# 抽象产品角色,以什么样的表现去使用class Payment(metaclas原创 2021-01-13 16:13:18 · 310 阅读 · 0 评论 -
Python常用设计模式—面向对象设计原则
文章目录一、 开放封闭原则二、里氏替换原则三、依赖倒置原则四、接口隔离原则五、单一职责原则一、 开放封闭原则一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。即软件实体应该在不修改原代码的情况下进行修改。二、里氏替换原则所有引用父类的地方必须能透明地使用其子类地方必须能透明地使用其子类的对象,一个简单的例子加强理解class User(object): def print_name(self): passclass VipUser(User): def原创 2021-01-13 16:03:22 · 139 阅读 · 0 评论 -
Python常用设计模式—设计模式与面向对象
文章目录一、设计模式二、设计模式的分类三、面向对象四、接口一、设计模式设计模式是对软件设计中普遍存在或反复出向的各种问题所提出的解决方案。每一个设计模式系统地被命名、解释和评价了面向对象系统中一个重要和重复出现的设计。二、设计模式的分类创建型模式:工厂方法模式、抽象工厂模式、创建者模式、原型模式、单例模式。隐藏底层模块的逻辑,关注怎么创建对象。结构型模式:适配器模式、桥模式、组合模式、装饰模式、外观模式、享元模式、代理模式。类之间如何协同工作,应该组成什么结构。行为型模式:解释器模式、责任.原创 2021-01-13 15:56:37 · 208 阅读 · 1 评论 -
Python数据结构与算法—算法进阶
文章目录一、贪心算法1、基础概念2、基本思路3、算法特性4、实例1找零问题2背包问题3拼接最大数字问题4活动选择问题二、动态规划一、贪心算法1、基础概念贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。贪心算法的要素:贪心选择贪心选择是指原创 2021-01-10 20:17:27 · 362 阅读 · 0 评论 -
Python数据结构与算法—树与二叉树
文章目录一、树1、基础概念2、实例:模拟文件系统二、二叉树1、基础概念2、二叉树的遍历三、二叉搜索树四、AVL树一、树1、基础概念1.定义:树(Tree)是n(n≥0)个节点的有限集合T,它满足两个条件:有且仅有一个特定的称为根(Root)的节点;其余的节点可以分为m(m≥0)个互不相交的有限集合T1、T2、……、Tm,其中每一个集合又是一棵树,并称为其根的子树(Subtree)。2.基本概念:节点的度:一个节点含有的子树的个数称为该节点的度;树的度:一棵树中,最大的节点的度称为树原创 2021-01-09 17:39:18 · 252 阅读 · 0 评论 -
Python数据结构与算法—哈希表
文章目录一、基本概念1、直接寻址表2、哈希3、哈希表4、哈希冲突二、代码实现三、哈希表的应用一、基本概念1、直接寻址表当关键字的全域U比较小时直接寻址是一种简单有效的方法但直接寻址表存在以下缺点:1.当全域U很大时,需要消耗大量内存,很不实际2.如果全域U很大而实际出现的key很少,则大量空间被浪费3.无法处理关键字不是数字的情况2、哈希直接寻址表:key为k的元素放到k的位置上改进直接寻址表:哈希(Hashing)1.构建大小为m的寻址表T2.key为k的元素放到h(k)位置上原创 2021-01-07 18:55:56 · 370 阅读 · 0 评论 -
Python数据结构与算法—链表
文章目录一、单向链表1、基本概念2、链表的创建3、链表的插入与删除二、双向链表1、基本概念2、代码实现三、链表实现线性表四、链表实现栈五、链表实现队列一、单向链表1、基本概念单项链表模型:链表是一个个节点连接而成,节点由两部分构成:元素域、链接域;链接域链接下一个节点,从而构成一条链条,而python主要实现单个节点对象,从而构成链条。2、链表的创建python实现一个节点对象:# __author__: PPPsych# date: 2021/1/7class Node:原创 2021-01-07 16:18:32 · 194 阅读 · 0 评论 -
Python数据结构与算法—队列
文章目录一、基本概念二、代码实现三、deque模块四、迷宫问题方法一:栈方法二:队列一、基本概念1.定义:队列是限制在两端进行插入操作和删除操作的线性表,允许进行存入操作的一端称为“队尾”,允许进行删除操作的一端称为“队头”。2.特点:1、队列只能在队头和队尾进行数据操作2、栈模型具有先进先出或者叫做后进后出的规律二、代码实现主要使用队列的顺序储存思路分析:通过环形队列,如下图环形队列:当队尾指针 front == Maxsize + 1 时,再前进一个位置就自动到0队首指针原创 2021-01-07 00:11:20 · 295 阅读 · 0 评论 -
Python数据结构与算法—栈
文章目录一、基本概念二、代码实现三、实例:括号匹配问题1、问题描述2、代码实现一、基本概念1.定义:栈是限制在一端进行插入操作和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素时称为“空栈”。2.特点:1、栈只能在一端进行数据操作2、栈模型具有后进先出或者叫做后进先出的规律二、代码实现主要使用栈模型的顺序储存思路分析:1、列表即顺序储存,但是功能太多不适合栈模型2、利用列表,封装类,提供栈的接口方法# __author__:原创 2021-01-06 23:38:31 · 135 阅读 · 0 评论 -
Python数据结构与算法—顺序表
文章目录一、基本概念二、代码示例总结一、基本概念数据结构不仅仅指的数据值在逻辑上的结构,更有在存储空间上的位置结构,顺序表,故名思意是有一定顺序的数据结构。顺序表最基本模型:对于基本布局顺序表而言,它存储相同单元大小并且在内存地址上连续的数据,逻辑地址是其元素的逻辑顺序,物理地址第一个元素的内存地址加上离第一个元素的距离,如:e1物理地址是l0,那么e2的物理地址是e1的地址加上e1所占用的大小c,以此类推,en的物理地址是l0+(n-1)*c。这种基本布局出现了一个问题,如果其中的元素大小不原创 2021-01-06 23:27:52 · 169 阅读 · 0 评论 -
Python数据结构与算法—排序
文章目录一、列表排序二、常见排序算法1.算法分类2.算法复杂度一、列表排序1.排序:将一组“无序”的记录序列调整为“有序”的记录序列2.列表排序:将无序列表变为有序列表3.升序与降序4.python内置排序函数:sort()二、常见排序算法1.排序lowB三人组: 冒泡排序 选择排序 插入排序2.排序NB三人组: 快速排序 堆排序 归并排序3.其他排序: 希尔排序 基数排序 计数排序1.算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于原创 2021-01-03 18:44:16 · 418 阅读 · 0 评论 -
Python数据结构与算法—基础知识
文章目录一、数据结构与算法(python)二、算法效率衡量1.时间复杂度2.最坏时间复杂度3.时间复杂度的基本计算规则4.常见时间复杂度5.常见时间复杂度之间的关系三、数据结构1.概念2.算法与数据结构的区别一、数据结构与算法(python)数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作。算法是为求解一个问题需要遵循的、被清楚指定的简单指令的集合。二、算法效率衡量执行时间反应算法效率,实现算法程序的执行时间可以反应出算法的效率,即算法的优劣。1.时间复杂度原创 2021-01-03 18:08:53 · 401 阅读 · 0 评论 -
Python学习笔记索引
Python基础文章目录Python基础—简介、变量、运算符Python基础—语句Python基础—数据类型Python基础—Py字符编码Python基础—文件操作Python基础—函数基础Python基础—函数进阶Python基础—装饰器、迭代器、生成器Python基础—三元表达式、列表推导式、生成器表达式Python基础—内置函数、匿名函数、递归函数Python基础—模块与包Python基础—常用模块Python基础—异常处理...原创 2021-04-07 22:42:30 · 109 阅读 · 0 评论 -
Python基础—模块与包
文章目录一、模块1 模块介绍1.1 什么是模块1.2 为什么使用模块2 使用模块——import2.1 import的使用2.2 在第一次导入模块时会做三件事2.3 被导入模块有独立的名称空间2.4 为模块名起别名2.5 在一行导入多个模块3 使用模块——from...import...3.1 from...import...的使用3.2 from...import...与import的对比3.3 from...import...也支持取别名3.4 一行导入多个3.5 from...import *3.6原创 2021-04-07 16:37:22 · 159 阅读 · 0 评论 -
Python基础—异常处理
文章目录一、什么是异常二、异常的种类三、异常处理一、什么是异常异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止),在python中,错误触发的异常如下而错误分成两种:语法错误(这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正)#语法错误示范一if#语法错误示范二def test: pass#语法错误示范三class Foo pass#语法错误示范四print(原创 2021-04-07 21:28:37 · 73 阅读 · 0 评论 -
Python基础—常用模块
文章目录一、time和datetime模块1 time模块1.1 表示时间的三种方式1.2 几种格式之间的转换2 datetime模块二、random模块三、os模块四、sys模块五、shutil模块六、json&pickle模块1 什么是序列化2 序列化的目的3 json4 pickle七、shelve模块八、xml模块九、configparser模块十、hashlib模块十一、collections模块1 namedtuple2 deque3 OrderedDict4 defaultdict5原创 2021-04-07 21:16:43 · 286 阅读 · 1 评论 -
Python基础—内置函数、匿名函数、递归函数
内置函数、匿名函数、递归函数原创 2021-04-07 00:04:18 · 152 阅读 · 0 评论 -
Python基础—三元表达式、列表推导式、生成器表达式
三元表达式、列表推导式、生成器表达式原创 2021-04-06 17:53:44 · 194 阅读 · 0 评论 -
Python基础—装饰器、迭代器、生成器
三、装饰器、迭代器、生成器原创 2021-04-06 17:35:45 · 111 阅读 · 0 评论 -
Python基础—函数进阶
文章目录前言一、命名空间二、作用域三、函数嵌套和作用域链四、函数本质五、闭包前言若有一个函数,实现返回两个数中的较大值:def my_max(x,y): m = x if x>y else y return mbigger = my_max(10,20)print(bigger)如果不返回m,直接在程序中打印:def my_max(x,y): m = x if x>y else y my_max(10,20)print(m)则会出现如下转载 2021-04-02 17:47:56 · 157 阅读 · 0 评论 -
Python基础—函数基础
文章目录一、前言1 不使用函数会存在以下问题:2 函数是什么:3 函数的分类:二、函数的定义与调用1 语法2 函数的使用规则3 函数在定义阶段都干了什么4 定义函数的三种形式5 函数调用的三种形式三、函数的返回值1 引子2 return关键字的作用:3 没有返回值:4 返回一个值:5 返回多个值:四、函数的参数1 实参与形参2 传递多个参数3 位置参数4 默认参数5 动态参数五、总结1 定义函数的规则:2 调用函数的规则:3 参数总结:一、前言1 不使用函数会存在以下问题:代码的组织结构不清晰,原创 2021-04-01 20:23:14 · 440 阅读 · 0 评论 -
Python基础—文件操作
文章目录前言一、基本操作二、 打开文件的模式三、 操作文件的方法四、 文件内光标移动五、 文件的修改前言一、基本操作二、 打开文件的模式三、 操作文件的方法四、 文件内光标移动五、 文件的修改...转载 2021-04-01 17:29:22 · 100 阅读 · 0 评论 -
Python基础—Py字符编码
文章目录前言1 计算机基础知识2 文本编辑器存取文件的原理3 python解释器执行.py文件的原理4 总结python解释器与文件本编辑的异同一、字符编码介绍1 什么是字符编码2 Python中的字符编码3 字符编码的发展史与分类(了解)4 总结二、执行python程序的三个阶段三、Python2字符编码四、Python3字符编码五、print都做了什么六、常见编码错误七、总结前言1 计算机基础知识(如nodepad++、pycharm、word)2 文本编辑器存取文件的原理1、打开编辑器原创 2021-03-30 17:06:33 · 1109 阅读 · 0 评论 -
Python基础—数据类型
文章目录前言1 什么是数据2 为什么数据需要分类型3 Python数据有那些类型一、数字二、字符串三、列表四、元组五、字典六、集合总结前言1 什么是数据a = 10,10就是我们需要存储的数据2 为什么数据需要分类型 数据是用来表示状态的,不同状态就应该使用不同的数据类型的数据去表示3 Python数据有那些类型数字、字符串、列表、元组、字典、集合一、数字整形int表示整数,包含正数、负数、0。如: -5, 100, 0字面值:十进制:5二进制:0b开头,后跟0或者1二进原创 2021-03-17 17:14:18 · 209 阅读 · 0 评论 -
Python基础—语句
文章目录一、行二、流程控制语句之if语句三、流程控制语句之while语句1、基础使用2、死循环3、循环嵌套4、break与continue5、while+else四、流程控制语句之for语句五、range函数六、del语句练习题一、行物理行:程序员编写代码的行。逻辑行:python解释器需要执行的指令。建议一个逻辑行在一个物理行上。# 3个物理行 3个逻辑行a = 1b = 2c = a + b如果一个物理行中使用多个逻辑行,需要使用分号;隔开。# 1个物理行 3个逻辑行a = 1原创 2021-01-14 18:20:59 · 153 阅读 · 0 评论 -
Python基础—简介、变量、运算符
文章目录一、基础简介1、Python简介2、执行过程二、变量三、数据类型1、数字2、字符串3、布尔bool4、空值对象None5、列表6、字典7、数据类型转换重点四、算术运算符1、算术运算2、比较运算3、赋值运算4、逻辑运算5、身份运算6、优先级一、基础简介1、Python简介Python定义:是一个免费、开源、跨平台、动态、面向对象的编程语言。Python程序的执行(运行)方式有两种:交互式、文件式交互式在命令行输入指令,回车即可得到结果。1.打开终端2.进行交互式:python33.原创 2021-01-14 17:43:28 · 120 阅读 · 0 评论