- 博客(68)
- 收藏
- 关注

原创 Contents page
本文整理了Python相关的技术博文目录,涵盖5大主题:Python内置数据结构(列表、字典等)、优秀第三方库(Matplotlib、Numpy等)、标准库(logging、pickle等)、编码笔记(装饰器、生成器等)以及算法开发(轨迹跟踪、矩阵变换等)。其中Matplotlib可视化库和装饰器/闭包相关文章最为丰富,分别包含7篇和9篇详细教程。这些文章从基础概念到高级技巧,系统性地讲解了Python编程的各个方面,适合不同阶段的开发者参考学习。
2025-07-22 16:13:51
143
原创 Matplotlib pyplot 增量绘图技巧
摘要 本文探讨了Matplotlib中实现增量绘图的三种高效方法: set_data方法:通过初始化线条对象后,在循环中使用line.set_data()更新数据,配合plt.draw()和plt.pause()实现动态效果。适用于基础二维折线图更新,核心是避免重复创建图形对象。 FuncAnimation模块:提供更抽象的动画框架,通过定义初始化函数和动画函数自动处理重绘逻辑。支持帧控制、视图滚动和性能优化(blitting),适合复杂动画场景。 散点图更新:使用set_offsets方法高效更新散点位置
2025-09-16 14:44:16
19
原创 利用CANoe数据回放blf数据
文章摘要:本文介绍了CAN总线数据分析流程:1)加载离线数据(Fig1-2),提取CAN网络和报文帧ID信息,但需dbc文件支持解析;2)数据提取分析(Fig3);3)转换数据格式供CANape分析;4)使用CANape解析.mf4文件。目前因缺少dbc文件导致数据无法查看。
2025-09-01 16:37:38
181
原创 Python 计算离散点定积分: np.trapezoid
本文详细介绍了NumPy中的numpy.trapezoid函数(旧称numpy.trapz),该函数采用梯形法则计算定积分的数值近似值。文章解析了函数定义、参数含义和返回值,阐述了梯形法则的数学原理,并通过均匀间隔、非均匀间隔和多维数组等示例演示其使用方法。关键点包括:采样点越多精度越高,支持非均匀间隔数据,可沿指定轴处理多维数组。文章还指出trapz是trapezoid的别名,并提醒用户注意精度、单调性等使用注意事项。该函数特别适用于处理离散采样数据的积分计算。
2025-08-30 09:18:00
60
原创 MATLAB Figure画布中绘制表格详解
本文介绍了三种在MATLAB中增强表格显示效果的方法:1) 使用uitable创建基本表格,通过Java对象设置网格线,并根据数值大小设置单元格颜色(正数红色渐变,负数蓝色渐变);2) 利用imagesc创建热力图,添加自定义网格线和自适应文字颜色;3) 完全自定义绘制表格,使用patch函数创建单元格并实现智能文字配色。文章还详细讲解了颜色映射技巧,包括使用内置颜色映射、创建自定义颜色函数以及根据数值大小设置颜色的方法。这些技术可显著提升数据可视化效果,使表格信息更直观易懂。
2025-08-26 20:54:08
134
原创 MATLAB 实现子图不规则排列
本文介绍了在MATLAB中实现不规则子图排列的两种方法:传统subplot函数和新版tiledlayout函数。subplot通过划分网格实现基本布局,适合所有MATLAB版本;而tiledlayout(需R2019b+)提供更灵活的格子合并和间距控制功能。文章通过具体代码演示了如何创建"上大图下三小图"的布局,并对比了两种方法的优缺点,包括兼容性、灵活性和控制便捷性。最后给出了调整子图间距、添加标签等美化建议,并提醒注意索引顺序和版本兼容性问题。新版用户推荐使用更直观的tiledlay
2025-08-26 20:45:45
185
原创 Python 迭代协议与迭代器
本文介绍了Python迭代协议的核心概念与高级应用。主要内容包括:1)迭代协议基础,通过__iter__和__next__方法实现可迭代对象和迭代器;2)迭代器高级特性,如状态保持、无限迭代和反向迭代的实现;3)生成器进阶技巧,包括生成器函数、协程式双向通信和生成器表达式;4)标准库itertools工具的应用;5)自定义迭代协议的树形结构实现。文章通过代码示例展示了各种迭代模式的实现方式及其应用场景,涵盖了从基础到进阶的迭代技术。
2025-08-13 19:09:08
86
原创 Python 元组(tuple): 基础 & 高阶用法
Python元组是不可变有序序列,使用小括号定义,适合存储不可修改的数据。文章详细介绍了元组的基础操作(创建、访问、运算、解包)和常用方法(count、index),并深入讲解了不可变性原理、命名元组、内存优化等进阶技巧。通过实际场景演示了元组在字典键值、数据记录处理和模式匹配中的应用,最后对比了元组与列表的性能差异。元组因其不可变特性和内存效率,在保证数据安全和提升性能方面具有独特优势。
2025-08-11 13:56:34
115
原创 Python 集合(set): 基础 & 高阶用法
本文介绍了Python集合的基础操作与进阶技巧。基础部分包括集合创建、元素增删、集合运算和关系判断。进阶技巧涵盖集合推导式、不可变集合frozenset、高效数据操作和原地修改方法。应用场景部分展示了数据去重、数据库模拟和JSON转换等实用案例。集合基于哈希表实现,具有O(1)时间复杂度的成员检测和去重能力,但元素无序且不可重复。frozenset可作为字典键,而可变集合则支持丰富的关系运算,是处理去重和快速查找的理想数据结构。
2025-08-11 11:43:54
225
原创 MATLAB utilits all-set
本文总结了MATLAB编程中的常用操作和类定义规范。常用操作包括:1)deal函数实现多变量赋值;2)VideoWriter实现仿真视频录制;3)switch-case多条件匹配。类定义规范要点:1)推荐继承handle和dynamicprops类;2)属性需进行类型验证;3)方法应使用varargin/varargout保证通用性;4)区分public/protected/private访问权限;5)建议采用无参构造函数和参数字典管理参数。这些规范有助于提高代码的可维护性和扩展性。
2025-08-02 09:30:32
84
原创 Python match-case 模式匹配详解
本文介绍了Python 3.10引入的match-case模式匹配功能,通过代码示例展示了不同场景下的应用。包括基础类型匹配(整型、字符串等)、序列解构(列表/元组)、字典匹配、类实例解构以及守卫条件的高级用法。文章还总结了模式类型、特殊符号使用技巧和注意事项,并指出Python 3.13的改进方向。match-case语句提供了比传统if-elif更强大的模式匹配能力,可以简化复杂条件判断的代码结构。
2025-08-01 16:07:39
142
原创 Python 3.8+ 海象运算符详解
本文介绍了Python 3.8引入的海象运算符(:=)的使用方法和技巧。主要内容包括:基础概念和语法,在条件语句、循环、表达式复用中的基础用法;进阶应用如列表推导式过滤、避免重复调用函数、正则匹配复用等;使用时需注意的作用域规则、优先级陷阱等注意事项。海象运算符能有效减少冗余代码、简化嵌套逻辑,但需合理使用以保持代码可读性。典型应用场景包括条件检查、循环读取、推导式过滤和链式操作等。
2025-08-01 14:48:03
96
原创 Python 生成器表达式详细解析
生成器表达式是一种高效创建生成器的语法结构,使用圆括号实现惰性求值。核心特性包括内存高效(不预先生成完整列表)和单次迭代性。基础用法包含简单生成、条件过滤和多循环操作。与列表推导式相比,生成器表达式内存占用显著降低但执行时间可能稍长。进阶技巧包括构建数据处理管道、嵌套表达式、结合海象运算符、生成无限序列以及状态维护方法。在实际应用中,特别适合处理大数据集和实时数据流,能有效降低内存消耗并实现高效处理。生成器表达式是Python中处理流式数据的强大工具。
2025-07-31 11:44:26
76
原创 Python 生成器详解: yield基操与进阶技巧
生成器是一种特殊的迭代器,通过yield关键字实现惰性计算,能有效节省内存并处理无限序列。核心用法包括创建生成器函数、自动迭代和生成器表达式。高阶技巧涉及双向通信(send())、异常处理(throw())、委托生成(yield from)和协程管道构建。实践应用涵盖大文件流式处理、实时数据流分析、状态机实现和分页API消费,相比列表可显著降低内存占用(如百万数据从89MB降至112字节)。但需注意生成器只能单次迭代,重用需重新创建。
2025-07-31 11:00:41
75
原创 nonlocal 声明闭包变量: 用法与全场景分析
本文全面解析了Python中nonlocal关键字的用法与机制,涵盖基础到边缘场景: 基础用法:在嵌套函数中修改外层(非全局)变量,需先声明且变量必须已存在 多层嵌套:可跨级修改最近外层作用域的变量,所有层级共享同一变量实例 注意事项:变量捕获的是引用而非值(循环中需特别注意),与全局变量冲突时优先闭包作用域 特殊场景:修改可变对象内容无需声明,但在重新绑定变量时需要;生成器中可保持闭包状态 限制:不能用于类方法修改类变量,异常处理中仍遵循标准作用域规则 文中通过10余个代码示例展示了正确用法与常见错误,并
2025-07-31 10:06:24
72
原创 Python Closure: nonlocal变量的作用域与存储时间
闭包的核心特性在于通过nonlocal关键字捕获并保留外部作用域变量。本文从作用域规则、存储机制和时间特性三个维度展开分析:作用域上遵循LEGB规则,nonlocal可显式指定操作闭包环境变量;存储机制上变量保存在独立的cell对象中,通过__closure__属性引用;生命周期上变量与闭包函数绑定,闭包存在引用时变量持续存活。还探讨了变量共享和循环引用等常见问题的解决方案,如使用默认参数或弱引用等技术手段。
2025-07-30 21:25:50
48
原创 Python 闭包(Closure) 特性剖析
闭包是函数式编程的核心概念,它由函数和定义时的环境组成,能够捕获并记住外部变量。本文从原理到实践详细讲解了闭包:核心原理是环境保存和生命周期延长;基础实践包括简单闭包和计数器实现;进阶技巧涵盖装饰器、函数工厂、变量绑定问题及私有状态封装;底层机制涉及__closure__等属性;最后给出最佳实践建议。闭包在状态持久化、代码复用等方面具有优势,但需注意内存管理和性能考量。
2025-07-30 20:06:44
71
原创 Python 字典: 基础 & 高阶用法
本文系统介绍了Python字典的核心操作与高阶技巧。基础部分涵盖字典创建、增删改查和迭代操作;进阶技巧包括字典推导式、合并、嵌套处理和条件筛选;特殊方法章节详解__missing__、__getitem__等自定义行为;性能优化部分涉及字典视图、链式查找和内存控制。文章还提供了现代Python特性(如|合并操作符)的应用示例,以及字典与JSON转换等实用场景的解决方案,帮助开发者高效处理关联数据。
2025-07-30 09:29:13
68
原创 Python 异常 (Exception) 深度解析
Python异常处理指南摘要 本文系统介绍了Python异常处理机制,包含基础用法和进阶技巧。主要内容:1)异常原理:详述触发、捕获、处理流程;2)基础操作:包括try-except结构、手动抛出异常和异常链;3)高级应用:自定义异常类、上下文管理器结合异常处理、异常装饰器实现重试机制;4)最佳实践:强调精确捕获、资源清理、异常转换和性能优化,指出异常处理不当会导致10-100倍性能损耗。文中配有完整代码示例,如自定义NetworkTimeoutError异常、数据库连接上下文管理等,并提供了异常处理与条件
2025-07-28 16:12:32
1353
原创 Python pickle 模块深度解析
摘要:本文深入剖析了Python pickle模块的底层机制与使用技巧。核心是PVM(Pickle Virtual Machine)栈式虚拟机,通过操作码控制序列化/反序列化流程。详细介绍了基本用法、文件持久化、高阶特性(包括自定义__reduce__、循环引用处理、Pickler子类化),并重点强调安全风险(不可信数据反序列化可能执行任意代码)。对比了不同协议版本特性,建议使用HIGHEST_PROTOCOL保证最佳性能。通过掌握这些机制,可以安全高效地进行复杂对象序列化,但需始终警惕其安全隐患。(149
2025-07-28 10:28:51
154
原创 Python f-string结合datatime输出时间
本文介绍Python中使用f-string格式化时间的方法。通过datetime.now()获取当前时间后,可在f-string中使用{变量:格式}语法指定输出格式。示例展示了基础格式(%Y-%m-%d等)、简化日期、12小时制、毫秒时区等常用场景,并指出f-string具有简洁直观、高性能和支持表达式计算等优势。这种基于strftime的格式化方式能高效满足各类时间显示需求。
2025-07-26 12:46:17
64
原创 matplotlib.pyplot: 底层原理简析与进阶技巧
Matplotlib架构与高级用法摘要: Matplotlib采用三层架构设计:后端层处理渲染(如Agg、Qt等),艺术家层管理图形元素(Figure/Axes/Axis等),脚本层提供pyplot接口。其渲染流程包括创建Figure、Canvas、Axes,添加Artist对象并最终绘制。 基础用法涵盖:1)基本绘图流程,包括数据可视化、样式定制和图表装饰;2)灵活的子图系统,支持GridSpec复杂布局;3)高级功能如自定义Artist对象、3D动画和事件处理。动画模块支持创建动态可视化,而事件系统可实
2025-07-24 11:26:13
100
原创 Matplotlib pcolormesh 增量绘图方案
本文介绍了Matplotlib中实现pcolormesh增量绘图的两种方法:1)网格尺寸不变时,使用set_array()高效更新现有网格数据;2)网格尺寸变化时,通过清除旧图并重建网格实现动态更新。文章还提供了关键技巧,包括性能优化方法、避免内存泄漏的建议以及实时数据流示例。根据数据更新频率、网格尺寸变化、实时性要求和硬件性能等因素选择合适的方法,其中固定网格尺寸的更新方法比重建网格快10-100倍。
2025-07-24 10:13:47
69
原创 Python functools 库: 高阶函数效率利器
Python 的 functools 模块提供了强大的函数式编程工具,可显著提升代码效率。基础功能包括 partial 固化函数参数和 wraps 保留元数据;进阶功能有 lru_cache 缓存结果、total_ordering 简化比较操作、reduce 实现累积计算;高效技巧如 singledispatch 函数重载和 cached_property 属性缓存。通过合理使用这些工具,可优化递归计算、减少重复操作,提升代码性能和可维护性。使用时需注意函数幂等性,避免缓存依赖外部状态的函数。
2025-07-23 14:33:45
57
原创 Matplotlib pcolormesh基础操作和进阶美化技巧
本文介绍了Matplotlib中pcolormesh函数的基础和进阶使用技巧。基础部分展示了如何创建基本二维函数可视化,比较了不同着色方式(flat、gouraud等)的效果。进阶部分包含三个重点:1)自定义色彩映射和标准化方法(线性、对数、幂次);2)结合等高线绘制地形数据并添加标注;3)处理非规则网格数据。这些技巧可显著提升科学数据可视化的表现力,适用于各种需要展示二维标量场的场景。
2025-07-22 15:04:38
79
原创 Matplotlib 绘制三维彩图 基础操作与美化技巧
本文介绍了使用Matplotlib绘制三维伪彩图的基础和进阶方法。基础部分演示了如何创建二维正弦曲面图,包括数据生成、3D图形创建、色彩映射设置和视角调整。进阶技巧包含三个示例:1)多平面投影伪彩图,展示在XZ和YZ平面添加投影;2)复杂曲面与等高线组合,实现三维曲面与平面投影的组合可视化;3)三维热力图,模拟科学数据并添加噪声,包含顶部等高线和平面投影。每个示例均提供完整Python代码,涵盖色彩映射、透明度控制、网格密度调整等关键参数设置,并包含详细的注释说明。
2025-07-22 11:05:54
60
原创 Python Matplotlib text文本系统最全解析
Matplotlib文本系统全面解析:涵盖基础操作与高级技巧 本文详细介绍了Matplotlib中的文本处理功能。基础部分展示了文本添加、对齐和数学表达式渲染: 使用ax.text()添加文本注释 通过ha/va参数控制水平和垂直对齐 支持LaTeX语法渲染复杂数学公式 高级技巧包括: 路径特效(描边、阴影、图案填充等) 文本沿曲线路径排列 自动换行处理长文本 每个知识点都配有代码示例,帮助开发者快速掌握Matplotlib强大的文本渲染能力,提升数据可视化效果。
2025-07-21 21:27:22
437
原创 Python Matplotlib中的fontdict参数说明
本文介绍了Matplotlib中fontdict参数的使用方法,该参数通过字典形式定义文本属性,包括字体、颜色、大小等样式。文章提供了具体示例展示如何为标题和坐标轴标签应用不同的字体样式,并说明了通过fontdict与rcParams两种方式设置文本属性的区别。此外,还提到fontdict可以与其他文本参数结合使用,实现更灵活的文本样式控制。这些方法能帮助用户自定义图表中的文本显示效果,提升可视化质量。
2025-07-21 21:10:48
125
原创 Python 标准库之 os 模块全面讲解
本文介绍了Python标准库中的os模块,它提供了与操作系统交互的核心功能。主要内容包括: 模块设计:os模块采用抽象层设计,提供跨平台统一API,底层通过C语言实现不同系统的适配。 基础用法: 文件目录操作:创建/删除目录、遍历文件树、获取文件属性 路径处理:路径拼接、分解、规范化和存在性检查 环境变量与进程:访问环境变量、执行系统命令、创建子进程 文件描述符操作:低级文件读写和复制 进阶技巧: 高级文件操作:文件锁、内存映射、修改时间戳 目录操作:递归复制、文件查找生成器 进程管理:守护进程实现、信号处
2025-07-21 20:41:46
306
原创 Python 高效创建多项式及相关计算方法
本文介绍了Python中表示和操作多项式的几种高效方法:1) 使用NumPy数组进行快速数值计算,包括多项式求值和求导;2) 面向对象的类实现方式,封装多项式操作;3) 利用SymPy进行符号计算;4) 手动实现多项式类,采用霍纳法则优化计算。性能测试表明,NumPy实现在大规模计算中最快。文章建议数值计算优先使用NumPy,符号计算选择SymPy,面向对象设计提升代码可维护性,而手动实现有助于理解多项式运算原理。
2025-07-21 20:25:08
63
原创 Python 中常见的数据管理高效方法
Python高效数据管理方法总结:1)使用JSON/YAML配置管理,实现代码分离和类型安全;2)dataclasses自动生成数据结构方法;3)Pydantic进行运行时数据校验;4)依赖注入解耦组件;5)Repository模式抽象数据访问;6)python-dotenv管理敏感信息;7)单例模式共享全局状态。这些方案可提升代码复用性(抽象接口)、可维护性(类型提示)、健壮性(数据验证)和可测试性(Mock支持),适用于配置管理、数据结构、API验证等场景。
2025-07-21 17:39:15
50
原创 Python 列表操作—基础和进阶技巧
本文全面介绍了Python列表操作,分为基础、进阶、性能优化和应用场景四部分。基础操作包括创建、访问、修改、增删元素等基本方法;高阶技巧涵盖列表推导式、嵌套处理、多级排序等;性能优化提出预分配空间、避免循环修改等建议;应用场景展示了矩阵转置、滑动窗口等实用案例。全文通过代码示例系统讲解了Python列表从入门到精通的完整知识体系,特别适合需要高效处理列表数据的开发者学习参考。
2025-07-21 16:41:06
400
原创 Python 标准库之 sys 模块全面讲解
Python sys 模块是与解释器交互的核心工具,提供系统级功能。基础用法包括:处理命令行参数(sys.argv)、管理系统路径(sys.path)、程序退出控制(sys.exit())、标准I/O流操作(stdin/stdout/stderr)和获取系统信息(版本、平台等)。高级功能涵盖递归深度控制、模块管理、引用计数跟踪、异常处理、调试分析(跟踪函数)、线程控制和信号处理。还支持自定义退出处理(atexit)等技巧,是Python系统编程的重要模块。
2025-07-21 13:46:23
77
原创 Python dataclass 高阶用法与技巧
Python 3.7+ 的 dataclass 提供了创建数据容器的便捷方式。基础用法可定义带默认值的属性,高阶特性包括:frozen=True 创建不可变类,__post_init__ 进行后初始化处理,field 定制字段行为,order=True 支持排序。此外还支持继承、字典/元组转换(asdict/astuple)、类型验证、模式匹配(3.10+)、JSON序列化、元数据存储和仅关键字参数(KW_ONLY)。这些特性使 dataclass 成为处理结构化数据的强大工具,同时保持代码简洁。
2025-07-20 21:45:15
182
原创 Python 单例模式几种实现方式
本文介绍了Python单例模式的5种实现方式:1)模块导入法(推荐的最简方式);2)重写__new__方法;3)元类控制;4)线程安全单例;5)单例装饰器。重点分析了各方法的线程安全性、初始化控制等特性,并给出对比表格。文章指出模块导入法是简单场景的首选方案,多线程环境需结合锁机制,同时提醒注意单例的可变状态同步问题。最后给出了一个综合线程安全和避免重复初始化的完善方案,适用于需要严格控制的场景。
2025-07-20 21:39:15
176
原创 Matplotlib Contourf 标注字体详细设置
本文详细介绍了Matplotlib中控制等高线标注字体属性的方法。主要内容包括:1)基础设置方法,展示如何创建基本等高线图并控制标注的字体大小、颜色等属性;2)进阶技巧,如使用字体属性对象、动态修改标注属性、加载外部字体文件;3)实用技巧,包括避免标注重叠的方法和出版级图表设置;4)常见问题解决,如中文标注支持。文章通过丰富的代码示例演示了从简单到高级的标注控制方法,特别适合需要制作高质量科研图表的用户。
2025-07-20 21:32:58
77
原创 Python 模块与包导入 基础讲解
本文介绍了Python模块导入和文件管理的核心技巧。模块导入部分涵盖基础导入语法、包结构、相对导入和动态导入方法。文件管理部分重点讲解pathlib路径处理、安全文件读写、大文件处理策略、临时文件操作及内存映射等高级用法。最佳实践建议包括:优先使用绝对导入和pathlib、with语句确保资源释放、流式处理大文件、合理使用shutil工具库。文章还提供了异常处理示例,帮助开发者编写更健壮的代码。这些技巧能有效提升Python项目的结构管理和文件操作效率。
2025-07-20 21:25:33
55
原创 python 装饰器的类型提示讲解
本文详细讲解了Python中装饰器的类型提示实现方法,主要内容包括:1)基础无参数装饰器使用ParamSpec和TypeVar保留函数签名;2)带参数装饰器的三层嵌套结构;3)类装饰器保留原始类类型;4)使用functools.wraps保留元信息;5)泛型装饰器处理多种返回类型。关键点在于正确使用类型变量捕获参数和返回类型,保持装饰器与被装饰对象间的类型一致性,同时确保Python静态类型检查器能正确推断原始签名(需要Python 3.10+或typing_extensions包)。这些方法能提升代码可读
2025-07-20 21:18:48
42
原创 Python自定义二维矩阵变化:Affine-2d
Python中的官方实现自定义实现Affine 2d变换可自由定制接口,便于实现扩展# 初始化变换矩阵''''''# unpaking# scale# 先平移至原点# 绕原点旋转# 平移回rotate_cog or translate_goal# 平移回原位# 平移到目标位置pass'''2.注意数据闭环'''# scale[0, 0, 1]])[0,0, 1 ],])[s, c, 0],''''''
2025-07-17 09:08:07
32
Python argparse库 解析与应用代码
2024-11-10
python decorator & closure demo code for learning the use tips
2024-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人