
Python高级
文章平均质量分 74
Python高级
月半长安
这个作者很懒,什么都没留下…
展开
-
Python高级-socket编程-2.4 静态web服务器
文章目录搭建Python自带静态Web服务器静态Web服务器是什么?如何搭建Python自带的静态Web服务器访问搭建的静态Web服务器查看浏览器和搭建的静态Web服务器的通信过程开发自己的静态Web服务器返回固定页面数据返回指定页面数据搭建Python自带静态Web服务器静态Web服务器是什么?可以为发出请求的浏览器提供静态文档的程序。平时我们浏览百度新闻数据的时候,每天的新闻数据都会发生变化,那访问的这个页面就是动态的,而我们开发的是静态的,页面的数据不会发生变化。如何搭建Python自原创 2021-02-02 17:32:35 · 311 阅读 · 2 评论 -
Python高级-socket编程-2.3 黏包解决方案
黏包现象当发送网络数据时,tcp协议会根据Nagle算法将时间间隔短,数据量小的多个数据包打包成一个数据包,先发送到自己操作系统的缓存中,然后操作系统将数据包发送到目标程序所对应操作系统的缓存中,最后将目标程序从缓存中取出,而第一个数据包的长度,应用程序并不知道,所以会直接取出数据或者取出部分数据,留部分数据在缓存中,取出的数据可能第一个数据包和第二个数据包粘到一起解决方法客户端import socketimport structdef main(): client = socket原创 2021-02-02 16:59:28 · 226 阅读 · 0 评论 -
Python高级-编程技巧-1.4 Python元类及迭代器生成器
目录__getattr__和__getattribute__魔法函数属性描述符属性描述符介绍属性描述符协议使用类方法创建描述符使用属性类型创建描述符描述符查找顺序元类元类介绍type()创建元类metaclass属性Python迭代器可迭代对象判断是否可迭代迭代器对象可迭代对象与迭代器区别可迭代的对象转为迭代器,iter()方法生成器生成器定义生成器和迭代器对比为什么要有生成器如何创建生成器生成器表达式生成器函数迭代器与生成器读取大文件__getattr__和__getattribute__魔法函数原创 2021-02-02 16:38:12 · 165 阅读 · 0 评论 -
Python高级-编程技巧-1.3 Python垃圾回收及性能分析
目录通过实例方法名字的字符串调用方法经典的参数错误内存与内存管理简介(了解)内存是什么?操作系统的内存管理进程内的内存管理内存分配内存池机制缓冲池机制垃圾回收机制介绍OS模块psutil模块Python内部的引用计数机制手动启动垃圾回收循环引用标记清除(Mark and Sweep)和分代回收(Generational)分代回收调试内存泄漏用 pdb 进行代码调试如何使用 pdb用 cProfile 进行性能分析通过实例方法名字的字符串调用方法我们有三个图形类 Circle,Triangle,Recta原创 2021-02-02 14:30:54 · 347 阅读 · 2 评论 -
Python高级-socket编程-2.2 TCP发送与接收数据
目录TCP协议介绍三次握手数据传输四次挥手TCP特点UDP协议介绍TCP与UDP区别UDP通信TCP通信TCP客户端构建流程TCP服务端练习1练习2TCP协议介绍当应用程序希望通过TCP与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方“握手”之后,TCP将在两个应用程序之间建立一个全双工(full-duplex)的通信。这个全双工的通信将占用两个计算机之间的通信路线,直到它被一方或双方关闭为止。三次握手初版,四次握手进化,三次握手数据传输原创 2020-11-02 10:12:17 · 677 阅读 · 0 评论 -
Python高级-socket编程-2.1 UDP发送与接收数据
目录前导现有需求:计算机网络的发展及基础网络概念两台电脑的通信IP地址与IP协议windows和Linux查看网卡信息IP地址分类以太网广域网端口端口分类socket简介TCP/IP协议socket介绍udp发送与接收数据udp发送数据udp接收数据udp聊天器前导现有需求:a.pya = "hello world"print(a)b.pyprint(a)不通过导入模块的方式,如何实现在 a.py 中存数据, b.py 读数据。这都是同以计算机,如果不同计算机之间进行传输通信,原创 2020-11-02 09:59:49 · 518 阅读 · 0 评论 -
Python高级-编程技巧-1.2 类与对象深度问题及解决技巧
目录如何派生内置不可变类型并修改其实例化行为练习需求回顾__new__练习实现如何为创建大量实例节省内存练习需求__slots__是否会继承?python中的with语句自定义类使用上下文管理器如何创建可管理的对象属性如何让类支持比较操作如何在环状数据结构中管理内存弱引用双链表如何派生内置不可变类型并修改其实例化行为练习需求我们想自定义一种新类型的元组,对于传入的可迭代对象,我们只保留其中int类型且值大于0的元素需求,定义IntTuple类>>> IntTuple([2,-2,原创 2020-10-26 17:41:03 · 263 阅读 · 0 评论 -
Python高级-编程技巧-1.1 深入类与对象
目录鸭子类型与多态鸭子类型多态抽象基类(abc模块)抽象基类介绍抽象基类应用场景type与isinstance区别类属性与实例属性基本查找顺序多继承查询顺序Python对象自省机制super函数如何派生内置不可变类型并修改其实例化行为?鸭子类型与多态鸭子类型多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚"鸭子类型"动态语言调用实例方法时不检查类型,只要方法存在,参数正确,就可以调用。这就是动态语言的“鸭子类型”,它并不要求严格的继承体系,一个对象只要“看起来像鸭子,走起路来像原创 2020-10-26 17:22:33 · 155 阅读 · 0 评论