自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 python学习 day40之Mysql数据库

Mysql数据库数据库概述1 什么是数据(Data)2 什么是数据库(DataBase,简称DB)3 什么是数据库管理系统(DataBase Management System 简称DBMS)4 数据库服务器、数据管理系统、数据库、表与记录的关系(重点理解!!!)总结:数据库服务器-:运行数据库管理软件数据库管理软件:管理-数据库数据库:即文件夹,用来组织文件/表表:即文件,用来存放多行内容/多条记录mysql介绍mysql是什么数据库管理软件分类mysql软件基本管理1. 启动查看linux平台下查看常见

2020-08-31 21:15:41 1014

原创 python学习 day39之基于协程的高并发服务端与大复习

基于协程的高并发服务端与大复习基于协程的高并发服务端服务端代码:用于测试的创建5000个多线程客户端代码:并发编程大复习面向对象大复习新的魔术方法和和\_\_setattr__: 添加/修改属性会触发它的执行\_\_delattr__: 删除属性的时候会触发\_\_getattr__: 只有在使用点调用属性且属性不存在的时候才会触发基于协程的高并发服务端服务端代码:from gevent import monkey,spawn;monkey.patch_all()from socket impor

2020-08-30 16:06:47 133

原创 python学习 day38之多线程收尾与协程与IO模型

多线程收尾与协程与IO模型多线程收尾线程/进程池方法:p.shutdown():等待所有任务完成,并且把池关闭代码演示:定时器:Timer:设置多长时间之后执行某个任务生成对象:t = Timer(2, task,args=(,))启动对象:t.start()协程理论知识协程优点协程缺点总结特点greenlet模块(不推荐):控制单线程在功能间切换着执行,遇到IO不能自动切换创建对象:p = greenlet(函数)切换到该函数执行:p.switch()gevent模块:基于greenlet写的,实现了遇见

2020-08-29 17:02:02 316

原创 python学习 day37之多线程进阶与中国古拳法!

多线程进阶与中国古拳法GIL:全局解释器锁理论知识:代码验证GIL锁的存在方式代码验证GIL与普通互斥锁的区别io密集型和计算密集型代码演示计算密集型代码演示io密集型死锁现象中国古拳法演示死锁现象:预防方案:递归锁(重入锁)代码演示Semaphore:信号量Semaphore:信号量,可以理解为多把锁,控制同一时间运行锁内代码的线程的数量代码演示:Event:事件对象.set() 发送信号对象wait() 接收信号,只要没来信号,就卡在这代码演示线程队列线程队列理论知识:Queue:先吃先拉(先进先出)L

2020-08-26 17:25:02 825 1

原创 python学习 day36之并发续集与线程

并发续集与线程生产者消费者模型新语法介绍: JoinableQueue([maxsize])【q.task_done()】使用者使用此方法发出信号,表示q.get()返回的项目已经被处理。如果调用此方法的次数大于从队列中删除的项目数量,将引发ValueError异常。【q.join()】生产者将使用此方法进行阻塞,直到队列中所有项目均被处理。阻塞将持续到为队列中的每个项目均调用q.task_done()方法为止。生产者消费者模型终极版进程嘛是进程?要进程做啥子?线程与进程的区别开启进程的两种方法(跟进程大同

2020-08-25 17:08:57 158

原创 python学习 day35之并发进阶

并发进阶僵尸进程与孤儿进程僵尸进程:进程结束了,资源还没来得及回收孤儿进程:主进程挂了,子进程还没结束,它就会被专门的进程接管进程对象及其他方法windows查找进程:tasklist |findstr 进程id号mac,Linux查找进程:ps aux | grep 进程id号获取进程对象:t=Process(target=task, )或者是在进程内部:current_process()t.pid或者current_process().pid:获取进程id号os.getpid() 同上,获取进程id号o

2020-08-24 16:58:16 123

原创 python学习 day34之并发编程

并发编程什么是进程进程与程序的区别并发与并行并发:是伪并行,即看起来是同时运行。单个cpu+多道技术就可以实现并发,单cpu,多进程(并行也属于并发)并行:同时运行,只有具备多个cpu才能实现并行小结同步\异步and阻塞\非阻塞(重点)同步:异步:阻塞:同步调用:非阻塞:小结:并发编程之多进程(操作篇)multiprocessing模块介绍Process类的介绍创建进程的类:参数介绍:方法介绍:属性介绍:Process类的使用创建并开启子进程的两种方式方法一方法二什么是进程进程:正在进行的一个过程或者说

2020-08-20 17:28:41 175

原创 python学习 day33之猴子补丁、进程

猴子补丁、进程猴子补丁进程程序进程操作系统串行:一个运行完毕再运行下一个并行:多个进程是真正意义上一起运行并发:看起来是同时运行的,本质还是一个个的运行猴子补丁用比json更好用的ujson模块来取代json部分功能:import jsonimport ujson # pip3 install ujsondef monkey_patch(): json.__name__ = ujson.__name__ json.dumps = ujson.dumps json.loa

2020-08-19 16:20:03 95

原创 python学习 day32之元类

元类元类介绍自定义元类控制类的创建利用自定义的元类端正子类的逻辑自定义元类控制类StanfordTeacher的调用\_\_call__模板修改产生的对象的属性变为私有 案例带上元类的属性查找总结:元类介绍一切源自于一句话:python中一切皆为对象所有的对象都是实例化或者说调用类而得到的(调用类的过程称为类的实例化)类其实也是调用类而产生的对象,元类就是指最初被调用的类自定义元类控制类的创建一个类没有声明自己的元类,默认他的元类就是type,除了使用内置元类type,我们也可以通过继承type

2020-08-18 16:37:36 171

原创 python学习 day30、31之套接字续集

套接字续集沾包现象什么是沾包两种情况下会发生粘包。利用复杂报头解决沾包基于udp协议的套接字通信语法模板udp套接字简单示例socketserver实现并发基于tcp实现并发基于udp实现并发沾包现象什么是沾包须知:只有TCP有粘包现象,UDP永远不会粘包。首先需要掌握一个socket收发消息的原理发送端可以是一K一K地发送数据,而接收端的应用程序可以两K两K地提走数据,当然也有可能一次提走3K或6K数据,或者一次只提走几个字节的数据,也就是说,应用程序所看到的数据是一个整体,或说是一个流(st

2020-08-17 23:25:11 77

原创 python学习 day29之基于TCP协议通信的套接字程序

基于TCP协议通信的套接字程序之远程操控CMD服务端客户端服务端"""服务端应该满足的特性: 1、一直对外提供服务 2、并发地提供服务"""import socketimport subprocess# 1、买手机phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # SOCK_STREAM=》TCP协议# 2、插手机卡phone.setsockopt(socket.SOL_SOCKET, socke

2020-08-13 21:25:14 103

转载 python学习 day28之网络基础之网络协议篇

网络基础之网络协议篇一.操作系统基础二.网络通信原理互联网的本质就是一系列的网络协议osi七层协议互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层每层运行常见物理设备OSI七层协议数据传输的封包与解包过程tcp/ip五层模型讲解物理层数据链路层**数据链路层由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思****数据链路层的功能:定义了电信号的分组方式****以太网协议:****ethernet规定:**数据包的具体内容:mac地址*****:广播:网络层

2020-08-11 19:21:04 167

原创 python学习 day27之异常处理

异常处理与套接字基础理论什么是异常为何要处理异常:为了增强程序的健壮性异常的种类**常用异常:**更多异常如何处理异常如果逻辑错误发生的条件是可以预知的,应该if判断解决,预防异常如果逻辑错误发生的条件是不可预知的,那么异常一定会发生,考虑到程序的健壮性,我们应该处理异常,做好补救措施异常类只能用来处理指定的异常情况,如果非指定异常则无法处理。多分支万能异常Exception多分支异常与万能异常异常的其他结构主动触发异常自定义异常断言:assert 条件总结try..except什么是异常异常是错误发生

2020-08-10 21:23:42 84

原创 python学习 day26之高阶面向对象

高阶面向对象在子类派生的新方法中重用父类功能的方式二组合:把另外一个类的对象赋值给当前对象的属性多态性与鸭子类型内置函数isinstance(x, (type, ……)):判断x是否为形参元组中的众多类型的一种,符合返回True,不符合返回Falseissubclass(class1, class2):判断class1是否是class2的子类,class1 == class2时也返回True类相关的内置方法__str__:在print含有该方法的对象时执行__del__:在数据从内存被清除时执行反射内置函数

2020-08-08 22:35:05 119

原创 python学习 day24之继承

面向对象之继承继承定义继承语法深入子类重用父类方式属性查找属性查找顺序继承的实现原理**下图为非菱形查找顺序:**下图是经典类菱形时的查找顺序:下图是新式类菱形时的查找顺序:通过函数mro()拿到调用顺序Mixins机制继承定义1 什么是继承继承是一种新建类的方式,新建的类称之为子类,被继承的类称之为父类、基类、超类python支持多继承2 为何要继承子类会遗传父类的属性,所以继承是用来解决类与类之间代码冗余问题3、如何实现继承语法:class Parent1: pass

2020-08-06 16:28:39 128

原创 python学习 day23面向对象之封装应用与装饰器

面向对象之封装应用与装饰器封装之隐藏属性之理论知识隐藏属性应用详解1、把数据属性隐藏起来的意义是:在类内开放接口,让外界使用者通过接口来操作属性值,我们可以在接口之上附加任意的逻辑2、把功能属性隐藏起来:隔离复杂度对类宝具之装饰器三天王@property:提供属性数据的查改删接口@classmethod:被装饰函数绑定给类,可以由类来调用,会把类当作第一个参数传入,其实对象也能正常调用@staticmethod:被绑定函数既不与类绑定也不与对象绑定,就是一个普通的函数,谁都可以来调用,没有自动传参的效果总结

2020-08-05 18:29:41 255

原创 python学习 day22之各种模块续集

各种模块续集一 shutil模块:高级的 文件、文件夹、压缩包 处理模块shutil.copyfileobj(fsrc, fdst[, length]):将文件内容拷贝到另一个文件中shutil.copyfile(src, dst):拷贝文件shutil.copymode(src, dst):仅拷贝权限。内容、组、用户均不变shutil.copystat(src, dst):仅拷贝状态的信息,包括:mode bits, atime, mtime, flagsshutil.copy(src, dst):拷贝文

2020-08-02 16:32:40 148

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除