随笔分类 - Python全栈
关于Python全栈开发知识
Django基础-Lesson1
摘要:web框架概念 web框架概念 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统。 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。 import socket def h
阅读全文
Python开发基础-Day33 IO模型
摘要:IO模型分类 五种IO Model blocking IO 阻塞IO nonblocking IO 非阻塞IO IO multiplexing IO多路复用 signal driven IO 信号驱动IO asynchronous IO 异步IO signal driven IO(信号驱动IO)在实
阅读全文
Python开发基础-Day32 进程间通信、进程池、协程
摘要:进程间通信 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的。 进程队列queue 不同于线程queue,进程queue的生成是用multiprocessing模块生成的。 在生成子进程的时候,会将代码拷贝到子
阅读全文
进程队列补充-创建进程队列的另一个类JoinableQueue
摘要:JoinableQueue同样通过multiprocessing使用。 创建队列的另外一个类: JoinableQueue([maxsize]):这就像是一个Queue对象,但队列允许项目的使用者通知生成者项目已经被成功处理。通知进程是使用共享的信号和条件变量来实现的。 参数介绍: maxsize是
阅读全文
Python开发基础-Day31 Event对象、队列和多进程基础
摘要:Event对象 用于线程间通信,即程序中的其一个线程需要通过判断某个线程的状态来确定自己下一步的操作,就用到了event对象 event对象默认为假(Flase),即遇到event对象在等待就阻塞线程的执行。 示例1:主线程和子线程间通信,代码模拟连接服务器 示例2:子线程与子线程间通信 示例3:
阅读全文
Python开发基础-Day30多线程锁机制
摘要:GIL(全局解释器锁) GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,是为了实现不同线程对共享资源访问的互斥,才引入了GIL 在Cpython解释器中,同一个进程下开启的多线程,同一时刻只能有一个线程执行,无法利用多核优势 python对于计算密集
阅读全文
Python开发基础-Day29多线程
摘要:概念 进程:进程就是一个程序在一个数据集上的一次动态执行过程 程序:代码 数据集:程序执行过程中需要的资源 进程控制块:完成状态保存的单元 线程:线程是寄托在进程之上,为了提高系统的并发性 线程是进程的实体 进程是一个资源管理单元、线程是最小的执行单元 线程和进程的关系 (1)一个线程只能属于一个进
阅读全文
Python开发基础-Day25-28FTP项目(待补充)
摘要:optparse C:\Users\Mr.chai>python C:/Users/Mr.chai/Desktop/PythonProject/DAY/day27/LuffyFTP/client/luffy_client.py -hUsage: luffy_client.py [options] O
阅读全文
Python开发基础-Day24socket套接字基础2
摘要:基于UDP的socket 面向无连接的不可靠数据传输,可以没有服务器端,只不过没有服务器端,发送的数据会被直接丢弃,并不能到达服务器端 UDP服务端+客户端 由于UDP是面向无连接的(实际上有链接,不然通过什么去传数据去取数据),可以使用多个客户端连接服务端,但这并不是并发访问。 注意: 1. 发消
阅读全文
Python开发基础-Day23try异常处理、socket套接字基础1
摘要:异常处理 错误 程序里的错误一般分为两种: 1、语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2、逻辑错误,人为造成的错误,如数据类型错误、调用方法错误等,这些解释器是不会进行检测的,只有在执行的过程中才能抛出的错误 异常 异常是python解释器在运行程序的过
阅读全文
Python开发基础-Day22反射、面向对象进阶
摘要:isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象,如果是返回True issubclass(sub, super)检查sub类是否是 super 类的派生类,如果是返回True 反射 反射
阅读全文
Python开发基础-Day21多态与多态性、绑定方法和非绑定方法
摘要:多态与多态性 多态 多态并不是一个新的知识 多态是指一类事物有多种形态,在类里就是指一个抽象类有多个子类,因而多态的概念依赖于继承 举个栗子:动物有多种形态,人、狗、猫、猪等,python的序列数据类型有字符串、列表、元组,文件的类型分为普通文件和可执行文件,人类又有多种形态,男女老少。。等等例子
阅读全文
Python开发基础-Day20继承实现原理、子类调用父类的方法、封装
摘要:继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先。 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有共同头部父类的类型 在这种模型下,新式类和经典类的继承顺序都一样。 调用obj.test(),首先找
阅读全文
Python开发基础-Day19继承组合应用、对象序列化和反序列化,选课系统综合示例
摘要:继承+组合应用示例 测试验证: 对象的序列化和反序列化 py对象的序列化是基于pickle模块完成的,pickle模块支持所有的py数据的序列化,json模块只能够支持各种编程语言通用的数据类型 对象基于文件反序列化,需要生成该对象的类存在于内存中,并且没有被隔离 序列化示例: 创建类文件 创建序列
阅读全文
Python开发基础-Day18继承派生、组合、接口和抽象类
摘要:类的继承与派生 经典类和新式类 在python3中,所有类默认继承object,但凡是继承了object类的子类,以及该子类的子类,都称为新式类(在python3中所有的类都是新式类) 没有继承object类的子类成为经典类(在python2中,没有继承object的类,以及它的子类,都是经典类)
阅读全文
Python开发基础-Day17面向对象编程介绍、类和对象
摘要:面向对象变成介绍 面向过程编程 核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。主要应用在一旦完成很少修改的地方,如linux内核、git、apache服务器等 优点:极大的降低了程序的设计复杂度 缺点:可扩展性差,改动一个地
阅读全文
Python开发基础-Day16import模块导入和包的调用
摘要:模块概念 在Python中,一个.py文件就称之为一个模块(Module)。使用模块组织代码,最大的好处是大大提高了代码的可维护性 模块一共三种:python标准库、第三方模块、应用程序自定义模块。 相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模
阅读全文
Python开发基础-Day15正则表达式爬虫应用,configparser模块和subprocess模块
摘要:正则表达式爬虫应用(校花网) configparser模块 该模块适用于linux下conf配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。 如: 生成文件示例: 注:会忽略大小写,全部写入小写 打开文件,加载文件内容 查找内容
阅读全文
Python开发基础-Day14正则表达式和re模块
摘要:正则表达式 就其本质而言,正则表达式(或 re)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。 字符匹配(普通字符,元字符): 1 普通字符(完全匹配):大多数字符和字母
阅读全文
Python开发基础-Day13模块2
摘要:sys模块 sys模块提供了一系列有关Python运行环境的变量和函数。 详细说明: sys.argv方法:返回值为命令行操作的列表,模拟sql登录代码 sys.path:返回模块的搜索路径,初始化时用PYTHONPATH环境变量的值 pycharm下执行的'C:\\Users\\Mr.chai\\
阅读全文
浙公网安备 33010602011771号