![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python学习
文章平均质量分 72
zdc45625
这个作者很懒,什么都没留下…
展开
-
编程与编程语言
文章目录1、什么是编程语言2、什么是编程3、为何要编程4、计算机组成5、cpu6、单位换算7、硬盘8、完整的操作系统9、操作系统的启动流程1、什么是编程语言语言是一个事物与另外一个事物沟通的介质python则是人(程序员)与计算机沟通的介质2、什么是编程编程就是程序员将自己想要让计算机做的事情用编程语言翻译出来写到一系列的文件中,这一系列的文件称之为程序/软件3、为何要编程...原创 2018-11-15 18:22:02 · 323 阅读 · 0 评论 -
python-继承-派生-字类访问父类方法-属性查找顺序-经典类与新式类-覆盖
文章目录一、继承二、派生三、子类访问父类方法四、存在继承关系后的属性查找顺序五 、存在多个父类时的查找顺序六、经典类型与新式类七、super获取父类内容时按照mro列表查找八、覆盖一、继承什么是继承:继承是一种关系,必须存在两个对象才能产生这个种关系,被继承的称为父,继承的一方成为子。在程序中继承指的是类与类之间的关系为什么要使用继承:在生活中通过继承,子可以直接享受父提供内容。在程序中,...原创 2018-12-14 18:19:24 · 512 阅读 · 0 评论 -
python-异常-异常处理-自定义异常-断言
文章目录一、异常二、异常的处理三、自定义异常四、断言一、异常什么是异常:指的是与正常情况不同,在程序中,程序的正常执行过程按照代码顺序 一行一行很执行,直到所有代码都执行完, 如果在执行过程中出现了错误,导致代码无法执行完毕,就称之为异常。异常其实就是代码执行过程中出错了常见的异常类型:当异常发生时,解释器会打印异常详细信息并且终止程序的执行如何排查排查错误:定位到错误发生...原创 2018-12-20 16:55:25 · 379 阅读 · 0 评论 -
python-socket粘包问题
文章目录一、socket粘包问题二、文件上传下载一、socket粘包问题什么是粘包:粘包指的是数据和数据之间没有明确的分界线,导致不能正确读取数据应用程序无法直接操作硬件,应用程序想要发送数据则必须将数据交给操作系统,而操作系统需要需要同时为所有应用程序提供数据传输服务,也就意味着,操作系统不可能立马就能将应用程序的数据发送出去,就需要为应用程序提供一个缓冲区,用于临时存放数据,具体流程...原创 2018-12-26 21:24:54 · 1156 阅读 · 0 评论 -
python-os模块-os.path模块-shutil模块-subprocess模块-configparser模块
文章目录一、os 模块二、os.path 模块三、shutil 模块四、subprocess 模块五、configparser 模块一、os 模块os 表示操作系统,该模块主要处理与操作系统相关的操作,最常用的是文件操作打开,读取,写入,删除,复制,重命名。#当前执行文件所在的文件夹路径print(os.getcwd())#修改当前的工作目录os.chdir(r"D:\Progr...原创 2018-12-10 18:52:46 · 244 阅读 · 0 评论 -
python-socket
文章目录一、socket一、socketsocket是什么:socket是Python提供的一个模块,当然其他的任何语言也都有,用于处理网络传输相关的操作,其实就是封装了底层的TCP和UDP协议,对外提高简单 优雅的使用接口socket的作用:减少网络编程的工作量#socket服务端import socket# 默认使用的是TCP协议# 创建socket对象soc =...原创 2018-12-21 21:09:41 · 126 阅读 · 0 评论 -
python-粘包练习
文章目录一、粘包练习一、粘包练习完成文件上传下载:服务端:import socketimport structimport jsonimport osserver = socket.socket()server.bind(("127.0.0.1",9090))server.listen()def run(): while True: client,...原创 2018-12-27 18:47:58 · 128 阅读 · 0 评论 -
python-xml 模块-代码生成xml 文档
文章目录一、XML 模块代码生成XML文档一、XML 模块什么是xml:可扩展的标记语言,标记翻译为标签,用标签来组织数据的语言,也是一种语言可以用来自定义文档结构。相比json 使用场景更加广泛,但是语法格式相比json 复杂很多什么时候使用json:前后台交互数据时使用json什么时候使用xml:当需要自定义文档结构时使用xml,比如java中经常用xml来作为配置文件,常...原创 2018-12-11 20:43:13 · 489 阅读 · 0 评论 -
python-面向对象精髓-组合-封装
文章目录一、面向对象精髓二、组合三、封装一、面向对象精髓"""host = '127.0.0.1'port = 3306db = 'db1'charset = "utf-8"# 在没有学习类这个概念时,数据与功能是分离的def exc1(host,port,db,charset,sql): conn=connect(host,port,db,charset原创 2018-12-17 21:05:58 · 202 阅读 · 0 评论 -
python-进程
文章目录一、进程二、进程PID与PPID三、并发与并行 阻塞与非阻塞四、开启进程的两种方式五、进程间内存相互独立六、父进程等待子进程结束七、process常用属性八、孤儿进程与僵尸进程一、进程什么是并发编程:并发指的是多个任务同时被执行,在之前的TCP通讯中,服务器在建立连接后需要一个循环来与客户端循环的收发数据,但服务器并不知道客户端什么时候会发来数据,导致没有数据时服务器进入了一个等待...原创 2018-12-28 18:53:58 · 141 阅读 · 0 评论 -
python-封装方法-封装的实现原理-property装饰器-多态-多态之ABC模块-鸭子类型
文章目录一、封装方法二、封装的实现原理三、property装饰器四、多态五、多态之ABC模块六、鸭子类型一、封装方法如何封装方法:给方法名字前面加上双下划线封装方法的好处:提高安全性隔离复杂度(将复杂的内容隔离到内部,外部只留下简单的接口,对于使用者而言,降低难度)class A: def __f1(self): print("f1 run") ...原创 2018-12-18 17:19:39 · 345 阅读 · 1 评论 -
python-GIL锁-多线程与多进程效率对比-进程池和线程池的使用-同步与异步
文章目录一、GIL锁二、多线程与多进程效率对比三、GIL与自定义线程锁的区别四、进程池和线程池的使用五、同步与异步一、GIL锁什么是GIL:全局解释器锁,是加在解释器上的互斥锁为什么需要GIL:由于CPython的内存管理是非线程安全,于是CPython就给解释器加了个锁,解决了安全问题 ,但是降低了效率。另外,虽然有解决方案,但是由于牵涉太多,一但修改则很多以前基于GIL的程序都需...原创 2019-01-03 18:46:27 · 428 阅读 · 0 评论 -
python-守护进程-互斥锁-死锁-IPC-队列-生成者消费者模型
文章目录一、守护进程二、互斥锁三、互斥锁的使用场景_抢票四、死锁五、IPC六、队列七、生产者消费者模型一、守护进程守护进程:表示 一个进程b守护另一个进程a,当被守护的进程a结束后,那么b也跟着结束了。 就像皇帝驾崩,妃子殉葬应用场景:之所以开启子进程,是为了帮助进程完成某个任务,然而如果主进程认为 自己的事情一旦做完就没有必要使用子进程了,就可以将子进程设置为守护进程。例如在运行q...原创 2018-12-29 19:48:28 · 146 阅读 · 0 评论 -
python-异步回调-线程队列-线程事件-greenlet-协程
文章目录一、异步回调二、线程队列三、线程事件四、在单线程下实现并发效果五、greenlet六、协程一、异步回调异步任务使用场景:爬虫从目标站点下载网页数据,本质就是HTML格式字符串用re从字符串中提取出你需要的数据import requests, re, osfrom concurrent.futures import ThreadPoolExecutor, ProcessPo...原创 2019-01-04 18:53:00 · 302 阅读 · 0 评论 -
python-socket tcp循环-半连接池-socket udp模板
文章目录一、TCP基础版二、TCP循环版三、TCP异常处理四、半连接池五、UDP模板一、TCP基础版服务端:import socket#买手机 默认得到是一个TCP的socketserver = socket.socket()#绑定手机卡server.bind(("127.0.0.1",16888))#开始待机server.listen()# 得到对方的socket对象...原创 2018-12-25 17:26:46 · 1311 阅读 · 0 评论 -
python-非阻塞IO-多路复用
文章目录一、非阻塞IO二、多路复用一、非阻塞IOIO模型:什么是IO:IO指的是输入输出,其执行速度都非常慢模型:指固定的套路IO模型就是所有可以实现输入输出的套路IO的分类:本地IO:指的是输入输出到本地计算机,比如写入硬盘网络IO:指的是输入输出到网络中的计算机,速度远比本地IO慢非阻塞IO服务端:import socketserver = socket...原创 2019-01-06 21:54:51 · 397 阅读 · 0 评论 -
python-反射-元类-单例模式
文章目录一、isinstance和issubclass二、反射三、`__`str`__`四、`__`del`__`五、exec方法六、元类七、`__`call`__`方法控制对象的实例化八、通过元类控制类的创建过程九、单例模式一、isinstance和issubclass# 判断某个对象是不是某个类的实例# isinstance()class Person: passclass ...原创 2018-12-19 21:56:02 · 302 阅读 · 0 评论 -
python-re模块-hashlib模块
文章目录一、re模块二、hashlib模块一、re模块print(re.findall('alex','hahahah alex is alex is dsb')) #['alex', 'alex']#\w 匹配字母数字及下划线print(re.findall('\w','Aah123 +-_')) #['A', 'a', 'h', '1', '2', '3', '_']print(r...原创 2018-12-06 18:44:54 · 167 阅读 · 0 评论 -
python-常量-基本运算符补充-if判断-while循环
文章目录一、常量二、基本运算符补充三、流程控制之if判断四、流程控制之while循环一、常量AGE_OF_OLDBOY = 73AGE_OF_OLDBOY = 74print(AGE_OF_OLDBOY)二、基本运算符补充算术运算print(10 /3)print(10 //3)print(10 **2)赋值运算增量赋值age = 18age+=1 #age ...原创 2018-11-20 16:08:27 · 155 阅读 · 0 评论 -
python-编程语言的分类-变量-与用户交互
文章目录一、编程语言的分类二、变量三、与用户交互一、编程语言的分类机器语言:直接使用二进制指令去编写程序,直接操作硬件,必须考虑硬件细节汇编语言:用英文标签取代二进制指令去编写程序,直接操作硬件,必须考虑硬件细节高级语言:用人类能理解的表达方式去编写程序,通过操作系统间接的操作硬件,无需考虑硬件细节编译型:类似于谷歌翻译解释型:类似于同声传译执行效率:机器语言>...原创 2018-11-16 15:51:06 · 188 阅读 · 0 评论 -
python-for循环-数字类型-字符串类型str
文章目录一、for循环二、数字类型三、字符串类型str一、for循环while循环 vs for 循环while循环:称之为条件循环,循环的次数取决于条件何时为Falsefor循环:称之为迭代循环,循环的次数取决于数据的包含的元素的个数for循环专用来取值,在循环取值方面比while循环要强大,以后但凡遇到循环取值的场景,就应该用for循环l=['a','b','c']f...原创 2018-11-21 17:02:19 · 3972 阅读 · 0 评论 -
python-字符编码
一、字符编码字符编码指的是字符转换成/编码成数字编码的过程一定要遵循一个标准,该标准称之为字符编码表字符---------------------编码-------------------------->数字字符<-------------------解码----------------------------数字ASCII表:只能识别英文字符,用8bit(8个二进制位)...原创 2018-11-23 19:32:34 · 149 阅读 · 0 评论 -
python-内存管理-与用户交互-基本数据类型-基本运算符
文章目录一、内存管理二、python2中与用户交互三、数据类型的基本使用四、基本运算符一、内存管理cpython解释器的垃圾回收机制什么是垃圾:当一个值身上没有人绑定任何变量名(该值的引用计数=0)时引用计数增加age = 18 #18的引用计数等于1x = age #18的引用计数等于2print(age)print(x)引用计数减少age = 19 #给变量重新赋值...原创 2018-11-19 18:30:20 · 133 阅读 · 0 评论 -
python-列表类型-元组类型-字典类型-集合类型
文章目录一、列表类型二、元组类型三、字典类型四、集合类型一、列表类型用途:记录多个值(同种属性)定义方式:在[]内用逗号分隔开多个任意类型的值l = ['a','b','c'] #l = list('a','b','c')类型转换l = list('hello')l = list({'x':1,'y':2})print(l)常用操作+内置方法优先掌握的操作...原创 2018-11-22 19:55:36 · 406 阅读 · 0 评论 -
python-函数对象-函数嵌套-名称空间-作用域-闭包函数-装饰器
文章目录一、函数对象二、函数嵌套三、名称空间四、作用域(作用范围)五、闭包函数六、装饰器一、函数对象函数可以被引用函数可以作为函数的参数函数可以作为函数的返回值可以被存储到容器类型中示范1def func1(): print("run")a = func1() #run示范2def func1(): print('run')def func2(f):...原创 2018-11-28 21:34:04 · 175 阅读 · 0 评论 -
python-文件处理-文件的打开模式-文件修改的两种方式-控制文件内指针移动
文章目录一、文件处理二、文件的打开模式三、文件修改的两种方式一、文件处理什么是文件:文件是操作系统为应用程序或者用户提供一种操作硬盘的虚拟单位强调:文件是操作系统提供的虚拟单位,应用程序或者用户对文件的读写操作其实都是向操作系统发送指令为何要用文件:文件对应的硬盘空间,如果需要考虑永久保存数据那必须使用文件如何用文件#打开文件f = open(r'D:\a.txt',mo...原创 2018-11-26 19:05:42 · 614 阅读 · 0 评论 -
python-生成器表达式-模块-模块的搜索路径-python文件的两种用途-软件开发规范-模块的循环导入问题
文章目录一、生成器表达式二、模块三、模块的搜索路径四、如何区分python文件的两种用途五、软件开发规范一、生成器表达式示范1:#列表生成式res = [i for i in range(10) if i > 5]print(res) #[6, 7, 8, 9]#生成器表达式用小括号包起来g = (i for i in range(10) if i > 5)print...原创 2018-12-04 17:25:16 · 125 阅读 · 0 评论 -
python-函数的基本使用-函数的返回值-函数的使用
文章目录一、函数的基本使用二、函数的返回值三、函数的使用一、函数的基本使用什么是函数在程序具备某一功能的工具=》函数事先准备好工具=》函数的定义遇到应用场景、拿来就用=》函数的调用分为两大类:内置函数自定义函数为什么要用函数代码冗余程序的组织结构不清晰,可读性差扩展性差如何使用函数函数的使用必须遵循一个原则:先定义定义语法: def 函...原创 2018-11-27 16:16:44 · 333 阅读 · 0 评论 -
python-叠加多个装饰器-有参装饰器-三元表达式-生成式-匿名函数
文章目录一、叠加多个装饰器二、有参装饰器三、三元表达式四、生成式五、匿名函数一、叠加多个装饰器from functools import wrapsdef outter(func): @wraps(func) def wrapper(*args,**kwargs): res=func(*args,**kwargs) return res ...原创 2018-11-30 18:36:52 · 178 阅读 · 0 评论 -
python-logging模块-shelve 模块-sys模块
文章目录一、logging模块二、shelve 模块三、sys模块一、logging模块什么是日志:日志其实就是日记,用于记录某个时间点 发生了什么事为什么要记录日志:是为了日志来复查,提取有用的信息如何来记录日志:可以直接打开文件,往里写东西,直接写入文件的两个问题你写的数据格式 别人看不懂解析数据麻烦日志的级别,从低到高分别是:debug 调试信息(用于记录...原创 2018-12-07 21:57:14 · 166 阅读 · 0 评论 -
python-包的使用-json与pickle模块-time与datetime模块-random模块
文章目录一、包的使用二、json与pickle模块三、time与datetime模块四、random模块一、包的使用什么是包:包就是一个含有__init__.py文件的文件夹为何要用包如何用包绝对导入:#========================>m1.pydef func1(): print('from func1')def func2()...原创 2018-12-05 19:51:40 · 184 阅读 · 0 评论 -
python-迭代器-生成器-函数的递归调用与二分法
文章目录一、迭代器二、生成器三、函数的递归调用与二分法一、迭代器什么是迭代:迭代是一个重复的过程,但是每次重复都是基于上一次重复的结果而继续下面都是循环的单纯的重复while True: print(1)基于索引的迭代取值l = ['a', 'b', 'c']i = 0while i < len(l): print(l[i]) i += 1...原创 2018-12-03 16:13:37 · 155 阅读 · 0 评论 -
python-类和对象
文章目录一、类和对象二、属性的访问顺序三、初始化函数四、绑定方法五、为什么要绑定六、绑定给类的方法七、非绑定方法一、类和对象什么是面向对象:在介绍面向对象之前,要先明确面向过程面向过程: 解决问题的步骤、流程,即第一步干什么,第二步干什么,其目的是将一个复杂的问题,拆分为若干的小的问题,按照步骤一一解决,也可以说将一个复杂的问题流程化为其制定一个固定的实现流程,从而变得简单化。面向过...原创 2018-12-13 22:41:29 · 144 阅读 · 0 评论 -
python-多线程-守护线程-线程互斥锁-信号量-守护进程的使用
文章目录一、多线程二、线程对比进程三、线程间资源共享四、守护线程五、线程中常用属性六、线程互斥锁七、信号量八、守护进程的使用一、多线程什么是线程:程序的执行线路,相当于与一条流水线,其包含了程序的具体执行步骤,如果我们把操作系统比喻为一个工厂,进程就是车间,线程就是流水线线程和进程的关系:进程中包含了运行改程序需要所有资源,进程是一个资源单位,线程是CPU的最小执行单位,每一个进程一...原创 2019-01-02 18:55:05 · 478 阅读 · 0 评论