- 博客(42)
- 收藏
- 关注
原创 Contents page
本文整理了30篇Python技术文章目录,涵盖装饰器、日志处理、数据可视化、算法实现等多个方面。内容包括Python装饰器从入门到进阶(001-005)、argparse解析(006)、pickle和json模块(008)、logging模块详解(009-011)等核心知识。此外还涉及单例模式(017)、os/sys模块(018/023)、Matplotlib可视化(016/024-027)等实用技巧,以及iLQR轨迹跟踪(013)等算法实现。这些文章系统地介绍了Python编程中的各种实用技术和最佳实践。
2025-07-22 16:13:51
5
原创 Matplotlib pcolormesh基础操作和进阶美化技巧
本文介绍了Matplotlib中pcolormesh函数的基础和进阶使用技巧。基础部分展示了如何创建基本二维函数可视化,比较了不同着色方式(flat、gouraud等)的效果。进阶部分包含三个重点:1)自定义色彩映射和标准化方法(线性、对数、幂次);2)结合等高线绘制地形数据并添加标注;3)处理非规则网格数据。这些技巧可显著提升科学数据可视化的表现力,适用于各种需要展示二维标量场的场景。
2025-07-22 15:04:38
3
原创 Matplotlib 绘制三维彩图 基础操作与美化技巧
本文介绍了使用Matplotlib绘制三维伪彩图的基础和进阶方法。基础部分演示了如何创建二维正弦曲面图,包括数据生成、3D图形创建、色彩映射设置和视角调整。进阶技巧包含三个示例:1)多平面投影伪彩图,展示在XZ和YZ平面添加投影;2)复杂曲面与等高线组合,实现三维曲面与平面投影的组合可视化;3)三维热力图,模拟科学数据并添加噪声,包含顶部等高线和平面投影。每个示例均提供完整Python代码,涵盖色彩映射、透明度控制、网格密度调整等关键参数设置,并包含详细的注释说明。
2025-07-22 11:05:54
5
原创 Python Matplotlib text文本系统最全解析
Matplotlib文本系统全面解析:涵盖基础操作与高级技巧 本文详细介绍了Matplotlib中的文本处理功能。基础部分展示了文本添加、对齐和数学表达式渲染: 使用ax.text()添加文本注释 通过ha/va参数控制水平和垂直对齐 支持LaTeX语法渲染复杂数学公式 高级技巧包括: 路径特效(描边、阴影、图案填充等) 文本沿曲线路径排列 自动换行处理长文本 每个知识点都配有代码示例,帮助开发者快速掌握Matplotlib强大的文本渲染能力,提升数据可视化效果。
2025-07-21 21:27:22
384
原创 Python Matplotlib中的fontdict参数说明
本文介绍了Matplotlib中fontdict参数的使用方法,该参数通过字典形式定义文本属性,包括字体、颜色、大小等样式。文章提供了具体示例展示如何为标题和坐标轴标签应用不同的字体样式,并说明了通过fontdict与rcParams两种方式设置文本属性的区别。此外,还提到fontdict可以与其他文本参数结合使用,实现更灵活的文本样式控制。这些方法能帮助用户自定义图表中的文本显示效果,提升可视化质量。
2025-07-21 21:10:48
38
原创 Python 标准库之 os 模块全面讲解
本文介绍了Python标准库中的os模块,它提供了与操作系统交互的核心功能。主要内容包括: 模块设计:os模块采用抽象层设计,提供跨平台统一API,底层通过C语言实现不同系统的适配。 基础用法: 文件目录操作:创建/删除目录、遍历文件树、获取文件属性 路径处理:路径拼接、分解、规范化和存在性检查 环境变量与进程:访问环境变量、执行系统命令、创建子进程 文件描述符操作:低级文件读写和复制 进阶技巧: 高级文件操作:文件锁、内存映射、修改时间戳 目录操作:递归复制、文件查找生成器 进程管理:守护进程实现、信号处
2025-07-21 20:41:46
251
原创 Python 高效创建多项式及相关计算方法
本文介绍了Python中表示和操作多项式的几种高效方法:1) 使用NumPy数组进行快速数值计算,包括多项式求值和求导;2) 面向对象的类实现方式,封装多项式操作;3) 利用SymPy进行符号计算;4) 手动实现多项式类,采用霍纳法则优化计算。性能测试表明,NumPy实现在大规模计算中最快。文章建议数值计算优先使用NumPy,符号计算选择SymPy,面向对象设计提升代码可维护性,而手动实现有助于理解多项式运算原理。
2025-07-21 20:25:08
14
原创 Python 中常见的数据管理高效方法
Python高效数据管理方法总结:1)使用JSON/YAML配置管理,实现代码分离和类型安全;2)dataclasses自动生成数据结构方法;3)Pydantic进行运行时数据校验;4)依赖注入解耦组件;5)Repository模式抽象数据访问;6)python-dotenv管理敏感信息;7)单例模式共享全局状态。这些方案可提升代码复用性(抽象接口)、可维护性(类型提示)、健壮性(数据验证)和可测试性(Mock支持),适用于配置管理、数据结构、API验证等场景。
2025-07-21 17:39:15
11
原创 Python 列表操作—基础和进阶技巧
本文全面介绍了Python列表操作,分为基础、进阶、性能优化和应用场景四部分。基础操作包括创建、访问、修改、增删元素等基本方法;高阶技巧涵盖列表推导式、嵌套处理、多级排序等;性能优化提出预分配空间、避免循环修改等建议;应用场景展示了矩阵转置、滑动窗口等实用案例。全文通过代码示例系统讲解了Python列表从入门到精通的完整知识体系,特别适合需要高效处理列表数据的开发者学习参考。
2025-07-21 16:41:06
257
原创 Python 标准库之 sys 模块全面讲解
Python sys 模块是与解释器交互的核心工具,提供系统级功能。基础用法包括:处理命令行参数(sys.argv)、管理系统路径(sys.path)、程序退出控制(sys.exit())、标准I/O流操作(stdin/stdout/stderr)和获取系统信息(版本、平台等)。高级功能涵盖递归深度控制、模块管理、引用计数跟踪、异常处理、调试分析(跟踪函数)、线程控制和信号处理。还支持自定义退出处理(atexit)等技巧,是Python系统编程的重要模块。
2025-07-21 13:46:23
14
原创 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
123
原创 Python 单例模式几种实现方式
本文介绍了Python单例模式的5种实现方式:1)模块导入法(推荐的最简方式);2)重写__new__方法;3)元类控制;4)线程安全单例;5)单例装饰器。重点分析了各方法的线程安全性、初始化控制等特性,并给出对比表格。文章指出模块导入法是简单场景的首选方案,多线程环境需结合锁机制,同时提醒注意单例的可变状态同步问题。最后给出了一个综合线程安全和避免重复初始化的完善方案,适用于需要严格控制的场景。
2025-07-20 21:39:15
83
原创 Matplotlib Contourf 标注字体详细设置
本文详细介绍了Matplotlib中控制等高线标注字体属性的方法。主要内容包括:1)基础设置方法,展示如何创建基本等高线图并控制标注的字体大小、颜色等属性;2)进阶技巧,如使用字体属性对象、动态修改标注属性、加载外部字体文件;3)实用技巧,包括避免标注重叠的方法和出版级图表设置;4)常见问题解决,如中文标注支持。文章通过丰富的代码示例演示了从简单到高级的标注控制方法,特别适合需要制作高质量科研图表的用户。
2025-07-20 21:32:58
13
原创 Python 模块与包导入 基础讲解
本文介绍了Python模块导入和文件管理的核心技巧。模块导入部分涵盖基础导入语法、包结构、相对导入和动态导入方法。文件管理部分重点讲解pathlib路径处理、安全文件读写、大文件处理策略、临时文件操作及内存映射等高级用法。最佳实践建议包括:优先使用绝对导入和pathlib、with语句确保资源释放、流式处理大文件、合理使用shutil工具库。文章还提供了异常处理示例,帮助开发者编写更健壮的代码。这些技巧能有效提升Python项目的结构管理和文件操作效率。
2025-07-20 21:25:33
25
原创 python 装饰器的类型提示讲解
本文详细讲解了Python中装饰器的类型提示实现方法,主要内容包括:1)基础无参数装饰器使用ParamSpec和TypeVar保留函数签名;2)带参数装饰器的三层嵌套结构;3)类装饰器保留原始类类型;4)使用functools.wraps保留元信息;5)泛型装饰器处理多种返回类型。关键点在于正确使用类型变量捕获参数和返回类型,保持装饰器与被装饰对象间的类型一致性,同时确保Python静态类型检查器能正确推断原始签名(需要Python 3.10+或typing_extensions包)。这些方法能提升代码可读
2025-07-20 21:18:48
13
原创 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
10
原创 Python 日志轮换处理器的参数详解
本文详细介绍了Python日志模块中文件处理器的使用方式,重点解析了RotatingFileHandler和TimedRotatingFileHandler两种日志轮换机制。内容涵盖文件打开模式、关键参数说明、轮换行为特点以及高级应用技巧,包括混合轮换策略、自定义备份文件名和多进程安全处理等。文章还总结了两种轮换方式的适用场景对比,并提出时区处理、文件权限等注意事项,最后给出生产环境下的日志管理建议。全文提供了丰富的参数配置示例,是Python日志轮换功能的实用指南。
2025-07-16 23:07:40
213
原创 Python logging 模块高级技巧详解
模块化的日志系统(不同组件不同级别)可持续的日志方案(自动轮换文件)安全的日志机制(敏感信息过滤)结构化的日志输出(JSON格式)灵活配置的日志框架(字典配置)高性能的日志实现(异步+优化)这些技巧结合使用,可以满足从简单脚本到企业级应用的各种日志需求,提供强大的调试和监控能力。
2025-07-16 14:23:34
514
原创 Python logging 模块基础详解
本文详细介绍了Python logging模块的核心概念和使用方法。主要内容包括:1)日志级别从DEBUG到CRITICAL的5个标准等级;2)Logger作为日志系统入口的创建和使用;3)Handler控制日志输出位置;4)Formatter定义日志格式。文章提供了一个完整的基础配置示例,展示了如何同时输出日志到控制台和文件,并包含了异常记录方法。最后总结了关键要点:合理设置日志级别、使用层级化日志记录器、避免直接使用root logger等最佳实践。这些知识可以帮助开发者构建有效的Python项目日志系
2025-07-15 17:58:08
23
原创 Python advancedTips
本文介绍了如何使用Python生成两个列表中所有可能的配对组合。通过itertools.product()函数,可以方便地获取两个列表元素的笛卡尔积。示例代码展示了将列表[1,2,3]和[2,1,3]进行组合,输出所有可能的数值配对结果(如(1,2)、(1,1)等共9种组合)。这种方法简单高效,适用于需要遍历所有组合场景的数据处理任务。
2025-07-12 13:47:57
34
原创 Python argparse 解析
argparse 模块是 Python 内置的用于命令项选项与参数解析的模块,argparse 模块可以让人轻松编写用户友好的命令行接口,能够帮助我们轻松为模型定义(输入)参数,具体可能包含: 文件路径、操作选项、配置参数设置等。使用步骤:导入模块 import argparse 创建解析对象 parser=argparse.ArgumentParser(~) 命令行添加配置选项和参数 parser.add_argument(~) 参数解析使用 ar
2024-11-10 17:18:02
72
原创 装饰器(decorator)与闭包(closure)的比较
之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量(可以用来在一个函数与一组私有变量()能够保持其持久性(保存运行环境与变量的状态)
2024-10-27 15:56:09
73
原创 MATLAB Coder setting for academic-license
相应的安装包可以重新下载也可以从百度网盘中down,[MATLAB_coder]>正版可使用add-ons 功能下载在matlab命令栏输入 mex-setup,并选择 mex -setup C, 也可以根据这个命令更改生成语言的类型。
2024-09-17 16:58:13
150
原创 MATLAB+Gurobi/Cplex Installation &Test
由于一台电脑上可能会安装有多种求解器,另外求解的问题也有很多种类(例如LP,ILP,MILP,QP,MIQP等等),不同的问题需要在不同的求解器上进行求解,而不同的求解器的语法都不同,这就带来了较大的学习成本。随后,Yalmip会自动识别你的模型属于的类别(比如到底是MILP还是QP等等),然后根据模型的类别选择最合适的求解器,并将你的模型自动转换成该求解器所能识别的格式进行求解。因此,有了Yalmip后,你所需要做的,就是建模、选择求解器(或者让Yalmip自动帮你选),然后提取求解结果即可。
2024-08-13 15:31:50
1222
原创 LQR K & Riccatti calc. (MATLAB & Simulink)
首先令P=Q,然后带入Riccatti方程求解新步长的P_k1,将P_k1再次带入求解得到P_k2看,..., 最后符合迭代次数或者。针对Riccatti方程的求解可以使用循环迭代的算法求解P matrix。simulink实现不能调用内置lqr函数求解K,只能循环迭代求解。的非线性微分方程称为Riccatti方程。
2024-07-06 18:26:04
121
原创 几种滑模控制算法的教学示例(MATLAB/Simulink实现)
式中x1 是小木块的位置,x2是在外力输入u下小木块的速度,k是弹簧的刚度(一端接小木块,另一端固定),m是小木块的质量,d(t)是外界扰动;基于S-function(Lvl-1)工具和simulink建模完成仿真。这里探讨在不同趋近律下,设计对应的滑模控制器。
2024-06-28 18:00:01
343
原创 如何在轨迹规划或轨迹序列中画一个好看的车辆示意图(MATLAB 代码实现)
发过论文或者准备发论文的小伙伴或都遇见个这样的问题,如何将算法仿真的车辆轨迹序列可视化得好看,这对于论文是否be accepted有一定的影响,常见于轨迹规划,轨迹跟踪控制等算法仿真场景中。本文做了一个简单的场景,同时MATLAB代码实现。
2024-05-08 13:57:03
1287
1
原创 Simulink+carsim轨迹跟踪联合仿真
从结果可以看出轨迹的跟踪误差在合理的范围内,实现了对参考轨迹的有效跟踪。横向主要采用MPC控制,通过CarSim输出的车辆状态信息,计算出最优的前轮转角,以达到成功追踪目标轨迹。
2024-05-08 13:55:17
3244
5
原创 MATLAB 好用的快捷键分享(Windows/Mac)
掌握常用的MATLAB快捷键可以显著的提高编程的效率, 体验更加丝滑。(Windows & Mac)博主常用的快捷键见下:
2024-02-04 21:35:08
1627
1
Python argparse库 解析与应用代码
2024-11-10
python decorator & closure demo code for learning the use tips
2024-10-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人