04 2020 档案
摘要:一 死锁与递归锁 使用抢锁必须释放锁,其实在操作锁的时候也及其容易产生死锁现象(阻塞,即整个程序卡死) 案例说明: from threading import Thread, Lock import time mutexA = Lock() mutexB = Lock() # 类只要加括号多次
阅读全文
摘要:一 进程池与线程池 1、什么是池? 池是用来保证计算机硬件安全的情况下最大限度的利用计算机 它降低了程序的运行,但是保证了计算机硬件的安全,从而让你写的程序能够正常的运行 基本使用 总结(掌握) 二 协程 进程:资源单位 线程:执行单位 多道技术: 切换 + 保存状态 cpu 两种切
阅读全文
摘要:一 线程 1、什么是线程 进程:资源单位 线程:cpu执行的最小单位 将操作系统比喻成一个大的工厂 那么进程就相当于工厂里面的车间 而线程就是车间里面的流水线 每一个进程肯定自带一个线程 再次总结: 进程:资源单位(起一个进程仅仅只是在内存空间中开辟一块独立的空间) 线程:执行单位(真正被cpu执行
阅读全文
摘要:一 进程对象其他方法 pid号:当前进程的进程号 一台计算机上面运行着很多进程,那么计算机是如何区分并管理这些进程服务端呢? 计算机会给每一个运行的进程分配一个 PID号 如何查看 window 电脑: 进入 cmd 输入 tasklist 即可查看 tasklist |findstr
阅读全文
摘要:一 多道技术 多道技术是基于单核背景下产生的 cpu 执行过程(单核): 单道(串行): cpu 同一时间只能执行一个任务,这个任务不结束,不能执行其他任务 多道技术: cpu 在执行a任务时,a任务发生了 IO 操作或者是执行时间过长时,此时 cpu 可以将 a(保存状态)然后再切
阅读全文
摘要:一 引子 内存空间相互之间是隔离的,物理层面隔离的; 硬盘空间是共享的,文件对应的硬盘空间 客户端和服务端在网络通信时, 客户端和服务端都只是操作系统之上的应用程序而已,应用程序不能直接来操作网卡来发送或接受数据,应用程序都是通过发送系统调用,让操作系统来操作计算机硬件。 应用程序发送和接收的数据都
阅读全文
摘要:一 什么是异常 异常是程序发生错误的信号,程序一旦出错就会抛出异常 异常处理的三个特征 异常的追踪信息 异常的类型 异常的内容 二 为何要处理异常 为了增强程序的健壮性,即便是程序运行过程中出错了,也不要终止程序,而是捕捉异常并处理:将出错信息记录到日志内 三 如何处理异常 1、语法上的
阅读全文
摘要:一 CS架构与 BS架构 二 网络通信 三 OSI 七层协议 互联网协议按照功能不同分为 osi 七层或者 tcp/ip五层 或 tcp/ip 四层 协议 协议:规定数据的组织格式 格式:头部 + 数据头获取数据 封包裹的过程:数据外加头 拆包裹的过程:拆掉头获取数据 osi 七层协议数据传输的
阅读全文
摘要:一 引入 在 python 中,一切皆为对象,类其实也是对象,为什么这么说??类时通过调用元类产生的 二 什么是元类 元类就是用来实例化产生类的类,它的作用就是用来产生自定的类 关系:元类 实例化 类 实例化 对象(obj) 查看内置的元类: 1、type 是内置的元类 2、我们用 class 关键
阅读全文
摘要:一 反射 1、什么是反射 指的是在程序运行过程中可以'动态(不见棺材不落泪)'获取对象的信息(数据属性,函数属性) 这种动态获取程序信息以及动态调用对象的功能称为反射机制。动态语言的定义事先是不确定数据类型的 2、为何要用反射 在程序运行过程中,如果我们获取一个不知道存有何种属性的对象,若想操作其内
阅读全文
摘要:一 多态 1、什么是多态 多态指的是同一种事物有多种形态,比如动物有多种形态:猫、狗、猪 2、为何要有多态 多态具有多态性,多态性指的是可以在不考虑对象具体类型的情况下而直接使用对象 多态性的好处在于增强了程序的灵活性和可扩展性,比如通过继承Animal类创建了一个新的类,实例化得到的对象obj,可
阅读全文
摘要:一 继承的概念 1、什么是继承 继承是一种创建新类的的方式,新建的类可以称为子类或派生类,被继承的类称为父类,父类又可称为基类或超类,子类会遗传父类的属性 类与类之间的继承指的是什么’是’什么的关系(比如人类,猪类,猴类都是动物类) 要找出类与类之间的继承关系,需要先抽象,再继承。抽象即总结相似之处
阅读全文
摘要:coding:utf 8 from db import db_handler 父类 class Base: 保存数据(对象)方法 def save_obj(self): db_handler.save(self) 查看数据(对象)方法 @classmethod def select_obj(cls,
阅读全文
摘要:一 封装 1 封装介绍 封装是面向对象三大特性最核心的一个特性 封装指的就是把数据与功能都整合到一起,针对封装到对象或者类中的属性,可以严格控制对它们的访问,分两步实现:隐藏与开放接口 2、隐藏属性 如何隐藏: 在属性名前加前缀,就会实现一个对外隐藏属性效果。Python 的 class 机制采
阅读全文
摘要:一 对象的概念 程序 = 数据 + 功能 面向过程: 核心是'过程'二字 过程的终极奥义就是将程序流程化 过程是'流水线',用来分步骤解决问题的 面向对象: 核心是'对象'二字 对象的终极奥义就是将程序"整合" 对象是'容器',用来盛放数据与功能的 示例: 学生容器
阅读全文
摘要:三层架构设计 三层架构分为为:1、用户视图层 2、逻辑接口层 3、数据处理层 一 用户视图层 用户视图层是展示给用户看的,用户视图层展示相关功能给用户看的,接收用户输入的内容,比如用户通过注册功能,输入用户名和密码,用户视图层也可以校验简单的逻辑,比如用户注册时两次输入的密码是否一致; 二逻辑处理层
阅读全文
摘要:日志功能使用 log_settings.py common.py 结果展示:
阅读全文
摘要:一 logging模块 1、logging 模块介绍 logging模块 :日志模块,记录日志 2、如何定制日志格式 3 使用 4 两个重要的知识 1、日志名的命名 日志名是区别日志业务归属的一种非常重要的标识 2、日志轮转 日志记录着程序员运行过程中的关键信息 当日志文件达到一定大小时
阅读全文