- 博客(52)
- 收藏
- 关注
原创 Python 爬虫框架设计:类封装与工程化实践
以上实践方案可根据具体需求组合使用,构建适合不同场景的爬虫框架。关键是根据项目规模选择适当的设计模式,在灵活性和复杂度之间取得平衡。
2026-01-12 03:13:23
1100
原创 PyMobileDevice3终极指南:Python控制iOS设备的完整教程
依赖库 libusb 和 libimobiledevice 需提前安装。若设备未列出,检查 USB 连接或重新安装依赖库。启用开发者模式需在设备上进入。使用 USB 连接 iOS 设备并信任主机。
2026-01-12 03:06:54
359
原创 PyOxidizer实战指南:告别Python部署难题的终极解决方案
PyOxidizer是一个用于将Python应用打包为独立可执行文件的工具,支持跨平台部署。它通过将Python解释器、标准库及依赖项静态链接到单个二进制文件中,解决传统打包工具(如PyInstaller)的依赖管理和分发问题。
2026-01-12 03:02:47
1223
原创 Python趣味练习---绘制玫瑰花图案
需要安装Python的turtle模块,该模块通常随Python标准库一起安装,无需额外安装。使用Python的turtle模块可以绘制出精美的玫瑰花图案。这种绘图方法结合了数学函数和创意编程,适合作为Python趣味练习项目。
2026-01-12 02:56:45
1020
原创 ROS 2 Jazzy + Python 3.12 + Web 前端案例
确保已安装 ROS 2 Jazzy 官方版本,支持 Ubuntu 22.04 或更高版本。创建 ROS 2 节点时,需在。构建 REST API 桥接层(Docker 容器化配置示例(
2026-01-12 02:50:31
457
原创 【CodeRider实战】Python终端版“赛博电子木鱼”开发复盘
注:完整项目需处理异常场景(如音效加载失败、终端尺寸不足等),建议使用面向对象设计模式分离视图层与逻辑层。
2026-01-12 02:43:41
557
原创 【CodeRider实战】Python终端版“赛博电子木鱼”开发复盘
该项目的关键点在于将传统交互转化为数字化体验,通过极简代码实现禅意与科技的融合。终端版本虽无图形界面,但保留了核心交互逻辑,适合作为命令行工具开发入门实践。电子木鱼的核心功能是模拟敲击动作并记录功德值。
2026-01-12 02:37:14
620
原创 Anaconda与Python版本的对应关系对于搭建稳定高效的开发环境
Anaconda发行版通常会绑定特定版本的Python,以确保其内置的科学计算库和工具链的兼容性。较新的Anaconda版本可能不再支持旧版Python。即使Anaconda默认绑定某一Python版本,仍可通过。的环境,并安装Python 3.9。若需使用非默认版本,建议通过。
2026-01-12 02:33:16
764
原创 课程一:Python 编程入门基础
使用def关键字定义函数,可设置参数和返回值。print(greet("Bob")) # 输出: Hello, Bob!
2026-01-12 02:30:16
624
原创 缓存命中率低于60%?立即检查这5个Python常见陷阱
缓存项的过期时间(TTL)过长会导致陈旧数据占用空间,过短则频繁回源。动态调整TTL,例如热点数据延长TTL,冷数据缩短TTL。统一缓存策略会降低效率。实现多级缓存,如Redis+内存缓存,对热点数据使用更激进的缓存策略。缓存命中率低于60%通常表明缓存策略或实现存在缺陷。使用简单类型或完整对象作为键会导致冲突或浪费。复合键应包含必要特征,例如对数据库查询使用。频繁请求不存在的数据会导致缓存失效。采用布隆过滤器拦截无效请求,或缓存空值标记。未限制缓存大小会导致内存溢出。避免使用可变对象作为键。
2026-01-12 02:27:10
718
原创 AI赋能编程语言挑战赛:从Python到Rust,我用AI大模型重塑开发效率
选择支持多语言转换的AI模型(如GPT-4、Claude 3或专用于代码生成的StarCoder),这些模型需预训练过Rust语法规范和所有权机制。典型场景下,优质AI助手可使Rust初学者的开发效率提升3-5倍,但需配合严格的安全审查流程。利用AI分析Python代码的热点路径,在Rust实现中针对性应用零成本抽象。比如将Python的循环改为Rust的迭代器模式,通过AI建议选择。通过自然语言描述Python代码功能,要求AI生成等效Rust实现并解释关键差异。AI应能对比不同实现方案的基准测试数据。
2026-01-12 02:18:45
828
原创 Python与链表(含链表概念、链表定义、链表操作、链表相关例题)
在Python中,链表可以通过类来实现。每个节点是一个类的实例,包含数据和指向下一个节点的引用。
2026-01-12 02:14:26
776
原创 SDK开放下载:支持Python、JavaScript等多种语言调用
该SDK已开放下载,支持Python、JavaScript等多种编程语言调用,旨在为开发者提供便捷的集成方式。
2026-01-12 02:07:22
1092
原创 【Python与生活】Python实战 | 全网最全QS世界大学排名分析
QS 世界大学排名是教育领域的重要参考指标,通过 Python 可以高效获取、清洗和分析这些数据。以下是一个完整的实战流程,涵盖数据获取、清洗、分析与可视化。通过以上步骤,可快速构建一个从数据采集到洞察生成的完整分析流程。实际应用中需根据数据源调整解析逻辑,并扩展更多维度的分析(如学科排名对比)。从 QS 官网或公开数据源爬取排名数据。通过统计和分组操作挖掘关键信息,例如各国顶尖大学数量、得分分布等。爬取的数据通常包含缺失值、重复项或格式问题,需用。:合并多年数据,分析排名变化趋势。
2026-01-12 01:58:59
798
原创 华为OD机试双机位C卷 - 采样过滤 (C++ & Python & JAVA & JS & GO)
华为OD机试双机位C卷的“采样过滤”题目要求对输入的数据进行采样和过滤处理。通常这类题目会涉及数据预处理、条件筛选或算法优化。以下是针对该问题的通用解题思路及多语言实现示例。根据实际题目要求调整上述代码中的过滤条件和采样规则即可。
2026-01-12 01:54:40
606
原创 Python 环境变量配置:小白也能轻松搞定
打开系统属性 → 高级 → 环境变量 → 系统变量中的Path → 编辑 → 新建,添加Python安装路径和Scripts文件夹路径(如。路径冲突时,在环境变量中将Python路径调整到靠前位置。(Mac/Linux),查看现有环境变量路径。确认Python安装路径是否已包含其中。正常显示版本号即配置成功,若提示"不是内部命令"需检查路径是否包含特殊字符或空格。通过右键点击Python快捷方式选择"打开文件所在位置"可快速定位。(XX代表版本号),Mac/Linux默认在。(Windows)或。
2026-01-12 01:50:01
526
原创 【启发式算法】RRT*算法详细介绍(Python)
RRT*(Rapidly-exploring Random Tree Star)是RRT算法的优化版本,通过渐进最优的方式改进路径质量。核心思想是在扩展树的过程中重新选择父节点和重布线,以降低路径成本。通过调整参数和增加迭代次数,RRT*能够逐渐逼近最优路径。算法复杂度高于RRT,但路径质量显著提升。
2026-01-12 01:45:06
1592
原创 找不到Anaconda prompt终端
卸载Anaconda后重新安装,确保安装时勾选“Add Anaconda to my PATH environment variable”选项。打开Windows开始菜单,搜索“Anaconda Prompt”。如果未找到,可能安装过程中未创建快捷方式,或安装未完成。若仍无法解决,可使用其他终端(如VS Code集成终端)配置Anaconda环境。在Windows系统中,Anaconda Prompt通常安装在Anaconda的安装目录下。不是有效命令,需将Anaconda的路径添加到系统环境变量。
2026-01-11 01:36:45
462
原创 python之知识图谱(Neo4j)
知识图谱是一种以图结构形式存储和表示知识的技术,节点代表实体,边代表实体间关系。Neo4j是一种高性能的图数据库,专门用于处理复杂的关系网络,支持Cypher查询语言,适合构建和查询知识图谱。
2026-01-11 01:18:09
349
原创 从JAVA到Python快速上手大盘点
PyCharm或VS Code替代Eclipse/IntelliJ IDEA。Python省略了分号和类结构,直接执行语句。实现getter/setter,而非显式声明。GIL机制导致多线程适合I/O密集型任务。在Python中简化为动态类型。对于线程池,Python的。替代构造函数,通过装饰器。JAVA的类型声明如。
2026-01-11 01:00:40
394
原创 Python 调用 DeepSeek-R1 API 的方法,超详细教程
登录 DeepSeek 官方平台,进入开发者中心获取 API 密钥(API Key)。保存密钥至安全位置,避免泄露。确保已安装 Python 3.6 及以上版本,并安装。
2026-01-11 00:53:22
289
原创 [软件分享]《PanTools v1.0.98 多网盘批量管理 工具》已实测!
PanTools 是一款支持多网盘批量管理的工具,可同时管理百度网盘、阿里云盘、天翼云盘等主流网盘。其核心功能包括文件同步、批量转存、资源共享等,适合需要跨平台操作网盘文件的用户。
2026-01-11 00:48:46
630
原创 排序算法实战篇(二):4大进阶排序原理+Python代码+运行过程
归并排序采用分治策略,将数组递归分成两半分别排序,再合并两个有序子数组。时间复杂度稳定为O(n log n),空间复杂度O(n)。快速排序通过选取基准值(pivot)将数组分为两部分,递归排序子数组。平均时间复杂度O(n log n),最坏情况O(n²)。希尔排序是插入排序的改进版,通过分组插入排序逐步缩小增量。时间复杂度取决于增量序列,最好可达O(n log n)。堆排序利用二叉堆数据结构,分为建堆和提取元素两个阶段。时间复杂度O(n log n),空间复杂度O(1)。
2026-01-11 00:35:04
879
原创 【 Intel/Altera FPGA技术实战 】Stratix 10 SOC GHRD工程自定义设计启动(四)
确保Quartus Prime Pro已安装并支持Stratix 10器件。创建新工程时选择正确的器件型号(如1SG280HU2F53E2VGS1)。在Platform Designer中配置HPS组件,包括时钟、复位、DDR控制器和外设接口参数。生成QSYS系统后,将HDL文件集成到顶层设计中。修改GHRD中的HPS时钟分频比需同步调整Platform Designer和U-Boot中的时钟配置。添加FPGA IP核时,需在QSYS中更新总线地址映射,并在设备树中声明寄存器空间。
2026-01-11 00:29:44
789
原创 【离散化 线段树 二分查找】3661可以被机器人摧毁的最大墙壁数目|2525
离散化的时间复杂度为 $O(n \log n)$,线段树构建为 $O(n)$。二分查找的验证阶段每次查询线段树的时间为 $O(\log n)$,总复杂度为 $O(n \log n)$。整体算法的时间复杂度为 $O(n \log n)$。构建线段树时,叶子节点对应离散化后的墙壁位置。初始化时,每个叶子节点的值为对应位置的墙壁强度。非叶子节点的值为子节点值的最大值。对于墙壁位置数据,需要将所有可能的位置进行排序并去重,建立映射关系。若存在某个区间的最大值小于等于机器人的力量值,则说明可以摧毁。
2026-01-11 00:27:06
871
原创 【数据库】国产数据库的新机遇:电科金仓以融合技术同步全球竞争
近年来,随着国际形势变化和国内技术自主需求提升,国产数据库迎来重要发展机遇。政策推动、行业需求和技术创新共同促进了国产数据库的快速发展,电科金仓等企业通过技术融合逐步缩小与国际巨头的差距。尽管进步显著,国产数据库仍需在工具链完善(如开发工具、监控系统)和全球市场拓展上持续投入。技术层面,图数据库、时序数据库等细分领域的创新将是下一阶段重点。:与国产芯片(如鲲鹏、飞腾)、操作系统(麒麟、统信)深度适配,形成完整信创生态链。:提供容器化部署、多租户管理能力,满足企业上云需求,与全球技术趋势同步。
2026-01-11 00:25:28
290
原创 Windows安装Neo4j保姆级教程(图文详解)
输入用户名和修改后的密码登录,即可进入Neo4j Browser操作界面。界面左侧为数据库导航,右侧为Cypher查询输入区。),选择适合Windows的版本(Community Edition为免费版)。右键“此电脑”选择“属性” → “高级系统设置” → “环境变量”。以管理员身份打开命令提示符,进入Neo4j的bin目录(点击执行按钮后,可在可视化界面看到两个节点及其关系。通过服务管理器可控制Neo4j服务的启动/停止。如需修改默认数据存储路径,编辑。修改后需重启服务生效。,需按提示修改密码。
2026-01-11 00:23:34
279
原创 【高阶数据结构】AVL树:从原理到旋转平衡艺术(附完整代码)
它的核心特性是任何节点的左右子树高度差不超过1,通过旋转操作维持平衡,保证查找、插入、删除的时间复杂度均为O(log n)。当某节点左子树高度比右子树大超过1,且左子树的左子树更高时触发。以失衡节点为支点,将其左孩子提升为新的根节点,原根节点成为右子树。当某节点右子树高度比左子树大超过1,且右子树的右子树更高时触发。当某节点左子树的右子树更高导致失衡时,先对左孩子执行左旋转换为LL型,再对原节点执行右旋。当某节点右子树的左子树更高导致失衡时,先对右孩子执行右旋转换为RR型,再对原节点执行左旋。
2026-01-11 00:21:31
275
原创 数据结构【栈和队列附顺序表应用算法】
先进先出(FIFO)的线性结构,插入(enqueue)在队尾,删除(dequeue)在队首。:后进先出(LIFO)的线性结构,仅允许在栈顶进行插入(push)和删除(pop)操作。通过合理设计,顺序表可高效实现栈和队列的核心功能,适用于多数线性数据操作场景。
2026-01-11 00:16:23
445
原创 重生之我在异世界学编程之算法与数据结构:深入动态顺序表篇
动态顺序表是基于静态顺序表的扩展,通过动态内存管理实现容量可变的线性结构。其核心特点在于当元素数量超过当前容量时,自动申请更大的内存空间并迁移数据。相比静态顺序表,动态顺序表解决了固定容量的限制问题,但需注意内存重新分配带来的性能开销。本质也是动态顺序表,采用过度分配机制:当新增元素时,分配公式为: [ new_allocated = (newsize >> 3) + (newsize < 9?常见的扩容策略包括固定倍数扩容(如2倍)和固定步长扩容(如每次增加100单位)。
2026-01-11 00:14:39
1065
原创 新手leetcode快速刷题指南
整理错题本,记录题目类型、解题思路和错误原因。每周复盘薄弱环节,针对性练习同类题目。推荐使用笔记工具(如Notion)分类管理。
2026-01-11 00:10:30
1174
原创 【优选算法 | 链表】链表操作技巧:常见算法
快指针每次移动两步,慢指针每次移动一步,常用于检测环、找到中间节点或倒数第N个节点。创建一个虚拟头节点,依次比较两个链表的节点值,将较小值的节点链接到虚拟头节点后,直到其中一个链表为空,最后将剩余链表直接链接。使用快慢指针,快指针先移动N步,然后快慢指针一起移动。当快指针到达末尾时,慢指针指向的节点即为倒数第N个节点的前驱,直接修改其。需要找到反转部分的起始前驱节点和结束节点,反转这部分链表后,重新连接前后部分。在检测到环后,将快指针重新指向头节点,然后快慢指针以相同速度移动。,并移动指针直到链表末尾。
2026-01-11 00:07:59
271
原创 《二分答案算法精讲:从原理到实战(上篇)》
二分答案算法的核心思想是通过二分查找确定满足条件的临界值。适用于答案具有单调性且直接求解困难的问题,如最大值最小化或最小值最大化问题。该算法将问题转化为判定性问题,通过不断缩小答案范围逼近最优解。单调性是使用前提,即当候选答案增大/减小时,判定函数的可行性呈现单调变化。给定N根木材和需要获得的至少K段,求每段最大可能长度。调试时可打印中间值观察收敛情况,验证判定函数的正确性。,通过二分查找满足条件的最大x值。
2026-01-11 00:05:17
842
原创 动态规划 —— dp 问题-买卖股票的最佳时机III
定义表示第i天、最多进行k次交易、当前持有状态为s(0 表示未持有,1 表示持有)时的最大利润。本题中k的最大值为 2。buy1:第一次买入后的最大利润。sell1:第一次卖出后的最大利润。buy2:第二次买入后的最大利润。sell2:第二次卖出后的最大利润。
2026-01-11 00:01:24
254
原创 【强化学习】双延迟深度确定性策略梯度算法(TD3)详解
对目标动作添加噪声扰动: $$ a' = \pi_{\phi'}(s') + \epsilon, \epsilon \sim \text{clip}(\mathcal{N}(0, \sigma), -c, c) $$ 通过裁剪的高斯噪声防止策略过拟合,提升策略的鲁棒性。软更新目标网络: $$ \theta'_i \leftarrow \tau \theta_i + (1-\tau)\theta'_i $$ $$ \phi' \leftarrow \tau \phi + (1-\tau)\phi' $$
2026-01-10 23:59:15
656
原创 【数据结构与算法】LeetCode 20.有效的括号
使用栈(Stack)数据结构可以高效解决该问题。遍历字符串时,遇到左括号入栈,遇到右括号检查栈顶是否匹配。若栈为空或不匹配则无效,否则弹出栈顶。最终栈为空时字符串有效。LeetCode 20题“有效的括号”要求判断一个仅由括号字符。组成的字符串是否有效。
2026-01-10 23:57:07
586
原创 【组合数学 动态规划】P6870 [COCI2019-2020#5] Zapina|普及+
转移方程为: [ dp[i][j] = \sum_{t=1}^{j} dp[i-1][j-t] \times \binom{N - (j - t)}{t} \times [t \neq \text{第 } i \text{ 个人的题目编号}] ] 实际实现时,需避免重复计算自己的题目。定义 ( dp[i][j][k] ) 表示前 ( i ) 个人分配了 ( j ) 道题,且是否已经有人分配到自己的题目(( k = 0 ) 表示未满足,( k = 1 ) 表示已满足)。模数为 ( 10^9 + 7 )。
2026-01-10 23:56:00
485
原创 从冒泡到模拟q sort函数——初见排序算法的探索和思考
快速排序基于分治法:选择一个基准元素(pivot),将数组分为两部分,一部分小于基准,另一部分大于基准,递归处理子数组。平均时间复杂度为 $O(n \log n)$,最坏情况下(如数组已有序)退化为 $O(n^2)$。冒泡排序通过重复遍历数组,比较相邻元素并交换位置,将较大(或较小)的元素逐渐“浮”到数组末端。时间复杂度为 $O(n^2)$,空间复杂度为 $O(1)$。函数使用 Timsort 算法(混合了归并排序和插入排序),具有稳定性和 $O(n \log n)$ 的时间复杂度。
2026-01-10 23:54:43
870
原创 【排序算法全家桶 Level 3】交换排序:从冒泡优化到快排四重奏
交换排序通过不断比较相邻元素并交换逆序对,使数据逐步有序。时间复杂度为O(n²),空间复杂度O(1)。平均时间复杂度O(nlogn),最坏情况O(n²)(当数组已有序时)。通过优先处理较短子区间,将递归深度控制在O(logn)级别。使用两个基准元素将数组分为三部分,提升处理重复元素的效率。增加标志位检测是否发生交换,若某轮无交换则提前终止。采用分治思想,选取基准元素将数组划分为两个子序列。选取左中右三个元素的中值作为基准,避免最坏情况。双向交替扫描,适合处理大部分已有序的数组。
2026-01-10 23:53:14
643
原创 【优选算法】双指针算法:专题一
双指针算法是一种通过使用两个指针(通常指向数组或链表的不同位置)来高效解决问题的技巧。它常用于优化时间复杂度,尤其适用于需要遍历或比较数据结构的场景。双指针算法可分为多种类型,如同向指针、对向指针和快慢指针等。
2026-01-10 23:50:53
701
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅