摘要:一、协程的概念 1、协程是单线程下的并发,它是程序员级别的,我们来控制如何切换。 2、进程的开销 >>>>>> 线程的开销 >>>>>> 协程的开销 3、协程的使用需要借助于第三方模块 gevent 模块或者 asyncio 模块 4、gevent 和 asyncio 是两个在 Python 中常用
阅读全文
随笔分类 - Python
摘要:一、GIL锁 1、全局解释器锁(Global Interpreter Lock,简称 GIL) GIL 是一种用于保护 Python 解释器在多线程环境下的数据完整性的机制。GIL 只存在是 CPython 解释器中,即官方的 Python 解释器实现 GIL 是一个互斥锁,你可以使用多线程来并发处
阅读全文
摘要:一、进程队列和线程队列 1、进程队列的使用 from multiprocessing import Queue python中内置的有一个Queue类,进程之间的数据是隔离的,所以,我们使用了队列来实现了进程之间的通信 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1
阅读全文
摘要:一、需要了解的概念 1、进程和程序的区别 程序就是一堆死的东西,没有生命周期进程是有生命周期的,当一个任务进行完毕之后,进程就不存在了 2、cpu的工作机制 1.当CPU遇到I/O操作的时候,会剥夺CPU的执行权限 I/O密集型:input output遇到阻塞,但是不需要占用大量的CPU资源,需要
阅读全文
摘要:一、什么是Scoket 1、Socket介绍 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的
阅读全文
摘要:报文格式地图——重庆网管博客 (023wg.com) 一、软件开发架构 1、B / S : browser 浏览器 〉 server 2、C / S: client 客户端 〉 server 二、OSI 七层协议 1、OSI的七层协议 物理层(Physical Layer):物理层负责传输比特流(0
阅读全文
摘要:一、Mixins机制 Mixins机制是一种在面向对象编程中用于代码复用的灵活机制,通过将特定功能的代码块注入到类中,增强了类的功能,同时保持了类的层次结构的简洁性和灵活性。 案例: 定义一个交通工具类,民航飞机和直升飞机、汽车都属与交通工具,继承交通工具类。 但是汽车不会飞,将fly的方法从交通工
阅读全文
摘要:1、什么是反射 反射是指在运行时检查、访问和修改对象的属性和方法。通过反射,可以动态地获取对象的信息并执行相应的操作,而不需要提前知道对象的具体结构。 2、使用内置函数和来实现反射操作 getattr(object, name[, default]): 用于获取对象的属性值。 参数 object 是
阅读全文
摘要:一、什么是魔术方法 1、魔术方法是一组具有特殊命名和行为的特殊方法,它们允许您自定义类的行为。这些方法使用双下划线(__)作为前缀和后缀,因此也被称为双下划线方法或特殊方法。 2、需要掌握每个方法什么时候触发或者执行 二、常见的魔术方法 1、__init__方法 初始化方法,当一个类被调用产生实例对
阅读全文
摘要:一、封装 封装是一种将数据和相关方法组合成一个单独的实体的机制。它将数据(属性)和操作数据的方法(方法)封装在一个对象中,并对外部代码隐藏了内部的实现细节。通过封装,对象可以提供一个公共接口,使得外部代码可以通过该接口访问和操作对象的数据,而不 需要了解其内部的具体实现。 封装之后:可以使用对象.属
阅读全文
摘要:一、绑定方法 1、绑定给类的方法(@classmethod) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Oracle(): def __init__(self, ip, port): self.ip = ip self.port =
阅读全文
摘要:一、两大范式 支持面向对象的语言中,都有两大范式面向过程和面向对象 1、面向过程:流程化、步骤化思维 优点: 复杂的问题简单化,进而流程化 缺点: 扩展性差,牵一发而动全身使用场景:对扩展性要求不高的地方,一般使用面向过程 2、面向对象 对象就是盛放数据"属性"和"方法"的结合体属性:简单理解就是变
阅读全文
摘要:一、日志的简单使用 1、什么是日志 记录你的代码在执行过程中的一些变化 (记录的是一些有意义的变化) 2、日志的5个等级 import logging logging.debug('debug message') # 10 logging.info('info message') # 20 logg
阅读全文
摘要:一、什么是摘要算法 1、摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示) 用于生成数据或文本的简短摘要或哈希值的算法。它们被广泛应用于密码学、数据完整性验证和信息检索等领域。摘要算法通过对输入数据进行计算和转换,生成一个固定长度
阅读全文
摘要:一、json Json模块提供了四个功能:dumps、dump、loads、load 1、前景 什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。 序列化的目的 以某种存储形式使自定义对象持久化; 将对象从一个地方传递到另一个地方。 使程序更具维护性 在Python中,能够
阅读全文
摘要:一、sys模块 sys模块是与python解释器交互的一个接口 1、sys.argv() 在Python中,sys.argv是一个列表,它包含了命令行参数传递给Python脚本的参数值。 sys.argv列表的第一个元素是脚本的名称,后面的元素是传递给脚本的参数。 import sys # 打印脚本
阅读全文
摘要:1、随机小数 import random # 大于0且小于1之间的小数 res = random.random() print(res) # 0.6102580330717722 #大于10小于88的小数 res1 = random.uniform(10,88) print(res1) # 75.8
阅读全文
摘要:一、time 模块 1、三个时间显示形式 timestamp:时间戳 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 struct_time:结构化时间 struct_time元组共有9个元素
阅读全文
摘要:一、简单做一个分类 在线测试工具 http://tool.chinaz.com/regex/ 1、字符组 字符组 : [字符组] 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示 字符分为很多类,比如数字、字母、标点等等。 假如你现在要求一个位置"只能出现一个数字",那么这个
阅读全文
摘要:一、模块的简介 1、什么是模块 Python 模块是一个 Python 文件,定义了各种功能接口。 2、为啥使用模块 把复杂的功能封装为模块(又称为库),将功能实现的细节隐藏起来,使用该模块(库)的程序员不需要了解实现的细节。通过调用模块封装好的功能, 可以用仅仅几行 Python 代码实现某项复杂
阅读全文

浙公网安备 33010602011771号