上一页 1 2 3 4 5 6 ··· 16 下一页
摘要: 1. 原函数、装饰器 都 没有参数 代码: class Test: def __init__(self, func): print('Be in __init__ process...') self.__func = func def __call__(self): print("...Start 阅读全文
posted @ 2023-12-16 12:53 爱吃砂糖橘的白龙 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 特点 工厂存在父类和子类,产品存在父类和子类。 工厂父类负责定义创建产品对象的公共接口,工厂子类负责生成具体的产品对象。 包含的角色 Product 抽象产品 ConcreteProduct 具体产品 Factory 抽象工厂 ConcreteFactory 具体工厂 模式分析 工厂方法模式是简单工 阅读全文
posted @ 2023-12-14 16:31 爱吃砂糖橘的白龙 阅读(19) 评论(0) 推荐(0) 编辑
摘要: C++和Java中面向对象中有抽象类或接口的说法,在python中没有abstract或interface这样的内置关键字。但是abc模块(Abstract Base Classes)实现了这些抽象类检查的功能,其中ABC是抽象基类。@abstractmethod表示这个方法是一个抽象方法,子类必须 阅读全文
posted @ 2023-12-14 15:36 爱吃砂糖橘的白龙 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 1. 单一职责原则(SRP,Single Responsibility Principle) 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。职责分离,提升模块的可复用性,SRP是实现高内聚、低耦合的指导方针。 2. 开闭原则(OCP,Open-Closed Principle) 软 阅读全文
posted @ 2023-12-14 10:51 爱吃砂糖橘的白龙 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 工厂负责生产所有的产品,根据传入参数的不同,返回不同的产品对象。 包含的角色 工厂角色 Factory 静态方法 抽象产品角色 Product 声明公用的抽象方法和属性 具体产品角色 ConcreteProduct 覆盖抽象产品中声明的方法,多种产品多种覆盖 模式特点 可以降低系统耦合度,使用工厂方 阅读全文
posted @ 2023-12-14 10:24 爱吃砂糖橘的白龙 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 原题: N个人围成一圈顺序编号,从1号开始按1、2、3…顺序报数,报p者退出圈外,其余的人再从1、2、3开始报数,报p的人再退出圈外,以此类推。 请按退出顺序输出每个退出人的原序号。 输入格式: 输入只有一行,包括一个整数N(1<=N<=3000)及一个整数p(1<=p<=5000)。 输出格式: 阅读全文
posted @ 2023-11-13 16:08 爱吃砂糖橘的白龙 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 问题 跳房子,规定总共有n个格子,每次可以选择跳1个格子、2个格子或3个格子,但是下一步不能和当前选择的跳跃距离一样,计算总共有多少种跳房子方案。 分析 这就是经典爬楼梯问题的进阶,仅仅换了个说法,但是比经典的爬楼梯问题难了不少,传统的爬楼梯问题一次可以上1或2个台阶没有连续动作选择的限制,核心解法 阅读全文
posted @ 2023-11-12 16:22 爱吃砂糖橘的白龙 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 假设这些排序算法想得到一个升序序列,长度为n。 参考 https://blog.csdn.net/qq_53414724/article/details/125016223 https://zhuanlan.zhihu.com/p/602971700 https://visualgo.net/zh/ 阅读全文
posted @ 2023-11-07 14:26 爱吃砂糖橘的白龙 阅读(41) 评论(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 爱吃砂糖橘的白龙 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 快速排序是一种不稳定的排序算法,时间复杂度O(nlogn),最差情况下时间复杂度为O(n^2)。 原理是: 选定待排序数组的任意元素为基准轴:pivot,通常选择数组第一个元素,保存下pivot数值。 遍历数组中的其他元素,通过交换元素位置,数组被划分为两个子序列:左子序列元素值全小于等于pivot 阅读全文
posted @ 2023-11-04 13:50 爱吃砂糖橘的白龙 阅读(122) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 16 下一页