随笔分类 -  python

摘要:概念 是一种对象结构型模式 可以在不改变一个对象本身功能的基础上给对象增加额外的新行为 是一种用于替代继承的技术,他通过一种无须定义子类的方式给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系 引入了装饰类,在装饰类中既可以调用待装饰的原有类的方法,还可以增加新的方法,以扩展原有类的功能 阅读全文
posted @ 2024-02-08 18:48 爱吃砂糖橘的白龙 阅读(40) 评论(0) 推荐(0) 编辑
摘要:动机 如何将容器和叶子进行递归组合,使得用户在使用时无须对它们进行区分,可以一致地对待容器和叶子? 典型案例 如:文件系统,在树形目录结构中,包含文件和文件夹两类不同的元素;在文件夹中可以继续包含文件或子文件夹,在文件中不能再包含子文件或者子文件夹。 概念 组合多个对象形成树形结构,以表示“部分-整 阅读全文
posted @ 2024-02-07 21:28 爱吃砂糖橘的白龙 阅读(15) 评论(0) 推荐(0) 编辑
摘要:动机 将抽象部分与实现部分分离,使他们都可以独立地变化。用抽象关联取代传统的多层继承。将类之间的静态继承关系转换为动态的对象组合关系。 上图展示的软件系统中存在两个独立地变化维度,分别是抽象类(Abstraction)和实现类(Implementor),它俩都是接口、都分别可以独立地扩展出多个子类。 阅读全文
posted @ 2024-01-11 12:53 爱吃砂糖橘的白龙 阅读(20) 评论(0) 推荐(0) 编辑
摘要:动机 有两个不存在直接继承或关联关系的类A、B, A希望能利用到B类中某个已存在的、功能完善的方法,而不再去具体实现A的接口源码;适配器模式使接口不兼容的那些类可以一起工作。 主要角色 目标类 Target 抽象接口类 适配者 Adaptee 适配器 Adapter 具体实现接口 客户端 Clien 阅读全文
posted @ 2024-01-11 12:22 爱吃砂糖橘的白龙 阅读(86) 评论(0) 推荐(0) 编辑
摘要:特点 建造者模式是一步一步构建一个复杂的对象,属于对象创建型模式 将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示 关注如何逐步地创建一个复杂的对象或产品,不同的创造者定义了不同的创建过程 用户不需要知道内部的具体构造细节、只用指定复杂对象的类型(建造者类型) 角色组成 Bu 阅读全文
posted @ 2023-12-17 11:06 爱吃砂糖橘的白龙 阅读(38) 评论(0) 推荐(0) 编辑
摘要:特点 系统中除了有多种产品类型(产品等级结构,如果汁、方便面、矿泉水),还出现了多个品牌(产品族,或农夫山泉、娃哈哈、康师傅、统一等品牌几乎都有这些产品) 在工厂方法模式中,只有一个产品等级结构 一个抽象产品(父类)、多个具体产品(子类)形成一个产品等级结构 产品族是指由同一个工厂生产,位于不同产品 阅读全文
posted @ 2023-12-17 10:42 爱吃砂糖橘的白龙 阅读(53) 评论(0) 推荐(0) 编辑
摘要:代码 import PyPDF2 out_pdf = PyPDF2.PdfFileWriter() dst_file = f'output.pdf' with open('input.pdf', 'rb') as src_file: reader = PyPDF2.PdfFileReader(src 阅读全文
posted @ 2023-11-05 12:45 爱吃砂糖橘的白龙 阅读(74) 评论(0) 推荐(0) 编辑
摘要:快速排序是一种不稳定的排序算法,时间复杂度O(nlogn),最差情况下时间复杂度为O(n^2)。 原理是: 选定待排序数组的任意元素为基准轴:pivot,通常选择数组第一个元素,保存下pivot数值。 遍历数组中的其他元素,通过交换元素位置,数组被划分为两个子序列:左子序列元素值全小于等于pivot 阅读全文
posted @ 2023-11-04 13:50 爱吃砂糖橘的白龙 阅读(172) 评论(0) 推荐(0) 编辑
摘要:需求说明 linux下,有时候我们用Python3执行一个shell命令,这会开启一个进程。 但是这个进程可能能不会主动关闭(比如Linux下的ping指令会一直持续执行),我们希望这个进程执行指定时间后就终止。 重点不是开启一个进程执行shell指令,是找到进程号,并精准杀死这个进程,找了好多资料 阅读全文
posted @ 2023-01-11 21:57 爱吃砂糖橘的白龙 阅读(692) 评论(0) 推荐(0) 编辑
摘要:库函数 threading 背景 去查询python3多线程,可以找到一大堆关于threading库的博客教程,但是多数是几个线程执行同一个函数(他们博客里各个线程传入的函数参数不同),且没有考虑获取函数的返回值. 我基于现有资料,对threading的应用又进行了以下扩展: 面向对象的继承封装 包 阅读全文
posted @ 2022-12-08 09:59 爱吃砂糖橘的白龙 阅读(660) 评论(0) 推荐(0) 编辑
摘要:from functools import wraps def decorator(func): """this is decorator __doc__""" @wraps(func) def wrapper(*args, **kwargs): """this is wrapper __doc__ 阅读全文
posted @ 2022-08-21 10:59 爱吃砂糖橘的白龙 阅读(20) 评论(0) 推荐(0) 编辑
摘要:1. 打印机效果 效果是在终端的同一行上周期性输出字符,涉及print函数的两个重要参数:end、flush。 end指示本次print后的结尾字符,默认是换行符;flush默认是False,此时print一般在确定好一行的输出内容后才去打印一整行内容。flush设置为True后,即使不换行也要立刻 阅读全文
posted @ 2022-07-27 21:34 爱吃砂糖橘的白龙 阅读(427) 评论(0) 推荐(0) 编辑
摘要:使用pd.sample()随机选取N行数据 df.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None) 输入参数见下表所示: 在df.sample()函数中设置frac=1.0时可以实 阅读全文
posted @ 2021-06-21 12:27 爱吃砂糖橘的白龙 阅读(265) 评论(0) 推荐(0) 编辑
摘要:在线安装参考网址: https://pytorch.org/get-started/locally/ https://pytorch.org/get-started/previous-versions/ 离线安装参考网址: https://mirrors.tuna.tsinghua.edu.cn/a 阅读全文
posted @ 2021-04-26 19:13 爱吃砂糖橘的白龙 阅读(132) 评论(0) 推荐(0) 编辑
摘要:获取像素方法: from PIL import Image img = Image.open("xxx.jpg") #将图片分成小像素方块 pix = img.load() # 获取图片大小 width = img.size[0] height = img.size[1] #width,height 阅读全文
posted @ 2021-04-14 11:59 爱吃砂糖橘的白龙 阅读(2671) 评论(2) 推荐(1) 编辑
摘要:for-else结构 参考自:https://www.jb51.net/article/164426.htm 先看代码: for…else… 与 if…else… 表现得不一样,按照以往经验来说,执行了 for 语句块中的代码就不执行 else 里面的,反之亦然。 然而,我们看到的却恰恰相反,for 阅读全文
posted @ 2021-02-02 20:45 爱吃砂糖橘的白龙 阅读(149) 评论(0) 推荐(0) 编辑
摘要:bytes_to_long() 函数在Ctypto库中,最新的3.9.9版本用如下命令去安装Crypto库: pip(3) install pycryotodome 函数引用方式:from Crypto.Util.number import bytes_to_long 使用os.urandom(le 阅读全文
posted @ 2021-01-17 15:10 爱吃砂糖橘的白龙 阅读(12146) 评论(0) 推荐(0) 编辑
摘要:roc曲线 1、roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。 横轴:负正类率(false postive rate, FPR),特异度,划分实例中所有负例占所有负例的比例;(1-Specificity 阅读全文
posted @ 2021-01-07 11:04 爱吃砂糖橘的白龙 阅读(890) 评论(0) 推荐(0) 编辑
摘要:参考自: https://blog.csdn.net/qq_33757398/article/details/108355003 例如输入列表: [8, 2, 4] 期望输出: [2, 3, 1] 一句话可以搞定:rank = [index+1 for index, value in sorted( 阅读全文
posted @ 2021-01-05 23:00 爱吃砂糖橘的白龙 阅读(788) 评论(0) 推荐(0) 编辑
摘要:代码 class A: def __init__(self): self.x = 111 self.y = 'test' def testA(self, inp): print("in a class") print("{}--{}--{}".format(self.x, self.y, inp*2 阅读全文
posted @ 2021-01-04 21:42 爱吃砂糖橘的白龙 阅读(106) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示