自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

原创 【typing.Callable】

在 Python 中,用于给标注类型。

2026-09-14 22:07:47 143

原创 【Playwright 从入门到精通知识总结】

Playwright 是微软推出的现代化浏览器自动化框架,支持 Chromium、Firefox、WebKit 三大引擎,以自动等待和稳定定位为核心优势,特别适合现代 SPA 应用测试。通过 Locator 实现语义化定位(如 get_by_role),结合同步/异步 API,可高效完成页面导航、交互与断言。内置自动等待机制避免显式延时,配合 Pytest 可快速构建稳定可靠的端到端测试。国内用户建议使用镜像源加速浏览器下载。

2026-09-13 21:46:30 95

原创 【Pandas 从入门到精通知识总结】

Pandas 是 Python 数据分析核心库,提供 Series(一维标签数组)和 DataFrame(二维表格)两大核心数据结构。支持从文件读取、数据查看、索引选取(loc/iloc)、布尔过滤、缺失值处理、重复值清洗、类型转换、字符串操作及数据变换。通过 apply、map、assign 等方法实现灵活的数据处理,结合排序、分组与聚合,可高效完成数据清洗与分析任务,是数据科学工作流的重要基石。

2026-09-13 21:42:20 161

原创 【namedtuple】- 场景用法

namedtuple 是 Python 中用于创建带字段名的不可变元组的工具,兼具元组的高效性与对象的可读性。支持通过字段名访问元素、解包、索引等操作,并提供 _fields、_asdict()、_replace() 等方法。从 Python 3.7 起支持默认值,3.6+ 可结合 typing.NamedTuple 实现类型注解。适用于坐标、用户信息等固定结构数据,是轻量级数据容器的理想选择。相比 dataclass,它更轻量且保留元组特性,但不可变;若需可变性或扩展方法,建议使用 dataclass。

2026-09-13 21:34:52 76

原创 【Python map / filter / reduce 详解】

本文详细介绍了Python中map、filter、reduce三个函数式编程高阶函数的使用方法和适用场景。map用于一对一元素转换,filter进行条件筛选,reduce实现累计聚合。三者都支持搭配lambda匿名函数和流式数据处理,避免了显式for循环。文章通过经典案例展示了各函数的应用方式,并对比了它们与列表推导式的优缺点,最后给出了选型建议:小数据用列表推导式提升可读性,大数据流处理优先选择惰性迭代的高阶函数组合。

2026-08-09 14:35:15 230

原创 【观察者模式】(Observer Pattern)- Python

定义一对多依赖关系:当目标(发布者)状态发生变化时,所有依赖它的观察者(订阅者)自动收到通知并更新。两大角色:气象站(被观察者)采集温度湿度;多个展示面板订阅气象数据更新。输出示例2:简易事件总线(业务开发常用变种)不强制继承抽象类,回调函数作为观察者,工程里经常用来解耦模块。输出:两种推送模式说明推模式(上面气象站示例)Subject主动把完整数据推送给Observer;适合数据量小。拉模式Observer收到通知后,主动向Subject拉取需要的数据。观察者模式优缺点

2026-07-27 22:04:45 72

原创 【责任链模式 】(Chain of Responsibility)- Python

摘要: 责任链模式(Chain of Responsibility)通过将多个处理者串联成链,实现请求的逐级传递与处理。核心特点是解耦请求发送者与接收者,每个处理器自行决定处理或转发请求。示例1展示了多级请假审批(组长→经理→总监),示例2演示了日志分级处理(DEBUG→INFO→ERROR)。该模式支持动态调整链条,但需注意请求可能未被处理或链条过长影响性能。适用场景包括审批流、过滤器链、日志分级等,与装饰器、组合模式的区别在于其请求的链式传递特性。

2026-07-27 22:02:16 158

原创 【代理模式】(Proxy Pattern)- Python

虚拟代理:延迟加载大对象(图片示例)保护代理:访问权限控制(文档示例)缓存代理:对查询结果缓存,减少重复计算远程代理:代理网络远端对象(RPC客户端)日志代理:统一记录调用日志、耗时监控。

2026-07-27 21:58:21 147

原创 【外观模式】(Facade Pattern)- Python

本文介绍了外观设计模式(Facade Pattern)的Python实现及其核心思想。外观模式通过为复杂子系统提供一个统一的高层接口,封装内部多个类的调用细节,从而简化客户端调用。文章以家庭影院系统为例,展示了如何将投影仪、灯光、音响等子系统封装在一个外观类中,提供"一键观影"和"一键结束"的便捷操作。对比了使用外观模式前后客户端的调用方式差异,并给出了依赖注入的优化版本。最后总结了外观模式的优缺点、适用场景,并与其他设计模式(桥接、装饰器、代理)进行了区分。该模式特别适合需要简化复杂系统调用的场景,如支付

2026-07-27 21:55:50 133

原创 【组合模式】- Python

本文详细介绍了组合模式(Composite Pattern)及其Python实现。组合模式通过树形结构统一处理单个对象和对象容器,核心包含抽象组件、叶子节点和容器节点三个角色。文章提供了文件系统的完整示例代码,演示了透明模式和安全模式两种实现方式,并拓展到公司组织架构场景。组合模式的优点包括代码简洁、支持递归遍历,缺点在于设计复杂度较高。适用于文件目录、菜单树、组织架构等树形结构场景。最后与桥接模式进行了简要区分,强调组合模式解决的是"整体-部分"关系问题。

2026-07-27 21:53:24 182

原创 【桥接模式】- Python

摘要: 桥接模式通过分离抽象与实现(如形状与颜色),使用组合代替继承,避免多层继承导致的类爆炸。Python示例中,Shape抽象类持有Color接口实现,使圆形/矩形与红/蓝色可独立扩展,新增维度(如绿色或三角形)无需修改现有代码,符合开闭原则。核心优势在于动态绑定和双维度独立变化,适用于跨平台工具、消息推送等多场景。工业版代码加入类型注解(typing),增强可维护性。

2026-07-27 21:49:32 173

原创 【typing 标准库完整用法详解】

Python类型注解详解:从基础到高级用法 文章摘要: 本文全面介绍Python类型注解系统,涵盖Python 3.5+中typing模块的核心功能。内容包括基础类型注解语法、常用容器类型(List/Dict等)的新旧写法对比、联合类型(Union/|)、可选类型(Optional)、函数类型标注(Callable)以及泛型(TypeVar)等高级特性。特别讲解了Python 3.9+推荐的原生类型写法、3.10+的ParamSpec装饰器类型保留、3.11的Self类型以及TypedDict和Protoc

2026-07-27 21:39:47 229

原创 【建造者模式】- Python

摘要:本文介绍了建造者模式在交通工具制造场景中的应用。通过定义抽象建造者规范组装步骤,实现高铁、公交、飞机等具体建造者各自配置零件参数,由指挥者统一控制组装流程。该模式将复杂对象的构建与表示分离,支持不同交通工具共用相同组装步骤但内部配置不同。文中提供了完整Python代码实现,包含产品类、抽象建造者、三个具体建造者和指挥者角色,并展示了运行输出结果。最后说明了建造者模式的核心特点和适用场景,以及无指挥者的简化实现变体。

2026-07-16 22:09:22 165

原创 【单例模式】- Python

本文介绍了Python实现单例模式的4种方式,以交通工具调度管理为例。1)重写__new__方法创建唯一实例;2)使用装饰器封装单例逻辑;3)通过元类控制类创建过程;4)利用Python模块导入的天然单例特性。文章还提供了线程安全增强版实现,并总结单例模式特点:全局唯一实例、节约内存、统一数据管理,适用于调度中心、日志对象等场景。每种方式都配有完整代码示例和测试验证,帮助理解不同实现方法的适用场景。

2026-07-16 22:02:25 180

原创 【适配器模式】- Python

经典场景:我们的系统有标准的交通工具接口,但需要接入一个第三方提供的、接口完全不同的"喷气背包",用适配器做兼容。:接入第三方 SDK、旧系统改造、多数据源统一接口、不同库的 API 兼容等。,让原本接口不兼容的类可以协同工作。

2026-07-15 22:56:53 93

原创 【策略模式】- Python

算法的变化独立于使用算法的客户端。

2026-07-15 22:53:26 61

原创 【模板方法】- Python

子类可以不改变算法结构,只需重写特定步骤。

2026-07-15 22:45:36 189

原创 【注册中心+装饰器】- Python

客户端只需传入名称即可获取对应工厂,新增工厂无需修改原有代码。,注册中心和客户端代码都不用改,完美符合开闭原则。:如果要新增「太空系列」工厂,只需写。将抽象工厂与注册中心结合:通过。

2026-07-15 22:41:30 139

原创 【抽象工厂模式】- Python

本文通过Python代码示例展示了抽象工厂模式在交通工具生产中的应用。该模式提供一个接口来创建一系列相关产品(如陆地、水上、空中交通工具),而无需指定具体类。示例中包含经济型和豪华型两个产品族,每个工厂都能生产配套的三种交通工具。与简单工厂和工厂方法相比,抽象工厂适合处理多系列配套产品,便于整体切换产品线但不利于新增产品类型。核心特点是能保证客户端使用的产品来自同一系列,适用于需要产品配套使用的场景。

2026-07-15 22:33:05 165

原创 【工厂模式】- Python

每个具体产品对应一个具体工厂。

2026-07-15 22:28:56 459

原创 【简单工厂模式】- Python

本文介绍了简单工厂模式的实现方式,通过交通工具示例展示了其核心思想。该模式包含抽象产品(Vehicle)、具体产品(Car/Bicycle等)和工厂类(VehicleFactory)三个角色,工厂类根据参数动态创建具体产品实例。优点是客户端与产品解耦、创建逻辑集中管理;缺点是违反开闭原则、工厂类职责过重。文章还对比了简单工厂与工厂方法模式的区别,指出后者更符合开闭原则。代码示例展示了如何创建不同交通工具并调用其方法。

2026-07-15 22:24:35 156

原创 【Java 中重写(Override)与重载(Overload)的区别】

Java中重写(Override)与重载(Overload)的关键区别:重载发生在同一类中,方法名相同但参数列表不同,体现编译时多态;重写是子类覆盖父类方法,方法签名必须相同,体现运行时多态。重载对返回值和访问修饰符无要求,而重写要求返回值类型相同或为其子类,访问权限不能比父类更严格。重载通过参数区分方法,重写通过继承关系实现方法覆盖。

2026-07-15 22:14:18 163

原创 【VBA中的链式编程】

若自定义类模块(Class Module)的方法返回自身对象(Me),可实现自定义链式调用。步骤1:创建类模块(命名为Person' 类模块 Person' 设置姓名,返回自身(关键:Function 而非 Sub)Set SetName = Me ' 返回自身对象,支持链式' 设置年龄,返回自身Set SetAge = Me ' 返回自身对象' 输出信息MsgBox "姓名:" & m_Name & ",年龄:" & m_AgeEnd Sub步骤2。

2025-12-24 12:18:25 881

原创 【理解“Collection存储Union区域后能分两次Resize写入单元格”的核心原因】

Collection有序且独立存储每个Range对象,保留了原Range的尺寸和值;每次取出一个Range后,可通过Resize匹配其尺寸写入单元格;动态更新起始单元格的位置,实现“连续写入”。而如果是直接存储合并后的Union,需先拆解其子区域(),才能按原区域分两次Resize写入。

2025-12-20 23:09:33 403

原创 【在 VBA 中合并单元格核心方案使用】

判断:用MergeCells识别是否合并,MergeArea获取完整区域;读取:仅读取(左上角)的内容;算法优化:用Collection记录已处理的合并区域,避免重复操作;扩展:结合Rows.Count定位合并范围,满足不同算法需求。掌握以上规则,可适配绝大多数涉及合并单元格的 VBA 算法场景(数据提取、格式处理、批量计算等)。

2025-12-07 20:44:42 1195

原创 【variant 在 VBA 的角色任务】

Variant 是 VBA 的“万能容器”,核心价值是灵活性——适合数据类型不确定、需存储数组/对象/错误值、或判断可选参数是否传入的场景;但在性能敏感、类型固定的场景,应优先使用基础类型(Integer/String 等),平衡灵活性和效率。

2025-12-07 20:37:02 661

原创 【用于判断参数状态、对象有效性、数据类型、值状态等VBA函数使用注意点】

五维度拆解,帮你精准区分。

2025-12-07 19:52:56 653

原创 【VBA 中Is Nothing 和 IsMissing】的用法区别

特征IsMissingIs Nothing判断目标检测Variant 类型可选参数是否被调用者传入(参数“缺失”)检测对象变量是否指向有效的对象实例(对象“未初始化/已释放”)适用类型仅Variant类型的可选参数(Optional声明)仅对象类型变量(如WorkbookRangeDictionary、自定义类)核心逻辑判断“参数是否被传入”(而非参数值)判断“对象变量是否绑定实例”(而非对象值)返回值布尔型(True/False)布尔型(True/False)依赖前提1. 参数必须。

2025-12-07 19:41:28 1043

原创 【IsMissing 在 VBA 的用法 】

场景是否可用IsMissing核心要求Variant 可选参数(无默认值)✅ 可用必须是 Variant + Optional + 无默认值非 Variant 可选参数❌ 不可用用特殊默认值替代带默认值的可选参数❌ 不可用直接用默认值即可IsMissing是 VBA 中判断 Variant 类型可选参数是否传入的核心函数,需严格遵守“Variant + 无默认值 + Optional”的前提,避免常见误区。

2025-12-07 19:29:18 704

原创 【VBA窗体(UserForm)中实现复选框基础属性认知】

通过(或)禁用复选框的手动交互,同时保留确保显示,再通过赋值实现代码独占控制,是窗体复选框“仅后台可控”的最优方案。此方法适用于需要展示状态但禁止用户修改的场景(如流程标记、权限控制、自动判断结果展示等)。

2025-12-04 22:46:12 571

原创 【VBA 实战 - 数据分析功能展示一】

【代码】【VBA 实战 - 数据分析功能展示一】

2025-11-30 22:33:28 279

原创 【VBA中调用不同模块的自定义方法】

标准模块(.bas)是最常用的模块类型,其中Public方法可跨模块调用(Private仅本模块内可用)。工作表模块(如Sheet1Sheet2)属于对象模块,方法默认Private,需显式声明为Public才能被外部调用,且需通过工作表对象调用。工作簿模块()的方法需声明为Public,通过或工作簿对象调用。类模块需先实例化对象,再通过对象调用方法(类模块是面向对象的封装,方法可PublicPrivate标准模块:直接调用(Public方法);对象模块(工作表/工作簿):通过对象实例调用(

2025-11-30 21:45:36 1029

原创 【在VBA中,如果某个工作簿重复打开】

重复使用打开已存在的工作簿,本质是“激活而非新建”,不会报错但可能引发模式冲突。实际开发中建议先校验工作簿状态,更高效且避免异常。

2025-11-30 21:34:10 299

原创 【VBA中,`On Error GoTo 0` 的作用】

是VBA中“关闭自定义错误捕获”的语句,用于在不需要捕获错误的代码段前恢复默认报错行为,确保后续代码的错误能被及时发现(而非被静默忽略)。

2025-11-30 14:07:22 425

原创 【VBA 中没有异常,如何在调用函数之间传递异常呢】

通过自定义类模块ErrorInfo' 被调用函数:返回异常类实例End If' 正常返回工作簿对象,异常返回ErrorInfo对象' 调用函数:判断返回类型处理异常Set result = OpenWorkbook("C:\不存在的文件.xlsx")' 处理异常MsgBox "异常来源:" & result.Source & vbCrLf & _"错误码:" & result.ErrorNo & vbCrLf & _"描述:" & result.DescriptionElse。

2025-11-30 14:05:47 544

原创 【正则表达式环视功能:原理、分类与实战解析】

正则表达式环视(Lookaround)是一种零宽度断言,用于匹配位置而不消耗字符。文章解析了4种基础环视类型:正向先行断言((?=Exp))、负向先行断言((?!Exp))、正向后发断言((?<=Exp))和负向后发断言((?<!Exp)),并通过案例展示其应用场景。同时指出后发环视可能存在变长支持差异问题,提供实用技巧与避坑指南。环视能提升正则匹配精准度,适用于文本提取与格式校验等场景。

2025-11-19 22:24:26 759

原创 【HTML 通用技术型网站】- 收藏

希望这些资源对你有帮助!

2025-08-31 17:39:10 14223

原创 【 requests 库的详细用法解析】

本文详细介绍了Python requests库的用法,涵盖GET/POST请求、参数传递、文件上传、Cookie处理等核心功能。通过实际代码示例演示了会话管理、超时设置、代理配置、SSL验证等实用技巧,并提供了JSON解析、大文件流式下载、身份验证等高级用法的实现方式。文章最后总结了requests库的主要特点,包括简洁的API设计和对各种HTTP交互场景的支持,适合开发者快速掌握HTTP请求处理的完整流程。

2025-08-17 18:58:44 626

原创 【实现文本朗读的常用方法】

本文介绍了Python实现中英文文本朗读的三种常用方法。1) pyttsx3:基于系统语音引擎,无需联网,可调节语速和音量,但语音较机械;2) gTTS:利用Google API生成高质量语音,需联网并生成临时文件;3) edge-tts:采用微软Azure语音,音质更好但安装复杂。方法对比显示:pyttsx3适合离线快速使用,gTTS和edge-tts适合追求语音质量。文章还提供了常见问题解决方案,如系统语音包安装和音频解码问题。根据需求可选择不同方案,平衡便捷性与语音效果。

2025-08-17 16:26:59 899

原创 【Python 解析 HTML 的常用方法及工具】

Python解析HTML的常用方法包括:1)BeautifulSoup(易用,依赖解析器如lxml);2)lxml(高性能,支持XPath/CSS);3)PyQuery(类jQuery语法);4)html.parser(标准库,功能有限);5)正则表达式(简单但易出错)。推荐BeautifulSoup或lxml处理复杂需求,注意编码和动态网页问题。正则表达式仅适合简单场景。

2025-08-17 16:18:06 396

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除