🧪 Python单元测试unittest入门与最佳实践:从assert到Mock
在软件开发中,测试是确保代码质量的关键环节。Python标准库中的unittest模块为我们提供了强大而灵活的单元测试框架,无需额外安装即可使用。本文将带你从入门到进阶,掌握unittest的核心概念与最佳实践。
一、unittest基础概念
unittest是Python内置的单元测试框架,灵感来源于JUnit。核心概念包括:
Test Case(测试用例 ...
🎯 Python命令行参数解析argparse实战:从入门到精通
引言
在开发命令行工具时,如何处理用户输入的参数是一个基础而重要的问题。Python 的 argparse 模块是标准库中用于解析命令行参数的强大工具,它可以帮助你轻松创建用户友好的命令行接口。本文将带你从入门到精通,掌握 argparse 的各种用法。
一、argparse 基础入门
1.1 最简单的示例
让我们从一个最简单的例子开始:
imp ...
🏗️ Python抽象基类ABC与接口设计:构建灵活的代码架构
# 🏗️ Python抽象基类ABC与接口设计:构建灵活的代码架构 ## 引言 在Python面向对象编程中,抽象基类(Abstract Base Classes,ABC)是一个强大的工具,它允许我们定义接口规范,确保子类实现特定的方法。本文将深入探讨Python的ABC模块,帮助你理解如何设计灵活、可扩展的代码架构。 ## 什么是抽象基类? 抽象基类是一种 ...
企业微信机器人与 DeepAgents 集成实践
前言
企业微信机器人以前通常采用 Webhook 回调方式接收消息,但这种方式存在延迟较高、需要公网服务器等局限性。随着OpenClaw爆火,企业微信机器人也支持 WebSocket 长连接方式。本文介绍一种基于 WebSocket 长连接的企业微信机器人实现方案,并集成 DeepAgents 框架实现智能对话能力。
技术栈
企业微信 WebSocket SDK: w ...
3分钟搞定讯飞云 ASR 中英语音识别:MicroPython+uPyPI一键安装驱动包
原文链接:https://f1829ryac0m.feishu.cn/wiki/J0lDwNHtCizJwekOXRecPA7inwb?fromScene=spaceOverview
五、使用 websocket 连接讯星火语音识别大模型实现 ASR 语音识别
5.1 基础知识
5.1.1 简介
星火语音识别大模型是一款主打高精度、多语种适配的智能语音转写工具,核心能力覆盖实时语音听写、长音频转写、多语种方言 ...
你不知道的 WebSocket:服务器实时推送的核心协议,新手也能秒会
一、引言
初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?
在我们之前的教程中,我们在树莓派 Pico 上用 HTML 开发了一个基于 HTTP 协议的网页服务器,以此控制树莓派 Pico 的硬件引脚:
https://freakstudio.cn/node/019bd0cf-8ca7-7e97-83fe-0b29d55c6f ...
数据可视化工具LightningChart Python v2.2 现已发布!构建更具响应性的仪表板
LightningChart Python v 2.2 现已发布!
推出具有更丰富的用户界面控件的新产品功能,用于构建更具响应性的仪表板。
获取LightningChart Python v2.2新版试用,请联系慧都科技>>>
新功能
此版本扩展了 LightningChart Python 的交互式工具包,新增了更丰富的 UI 控件、更深入的光标自定义功能 ...
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
xonsh 是 python 驱动的 shell, 在操作效率, 交互和外部功能的先进性上比 bash 等优秀, 并且十分容易上手.
但相应地, 它是一个新兴的 shell, 并且不是所谓 "POSIX Shell"(尽管某些行为比较相似), 加上现有中文相关文章属实不深, 故自己做了一些较深的了解, 在此处记录心得, 若有错误请您指出, 不胜感谢.
xonsh 的提示符为 @ ...
LangChain 基础使用:从入门到实战
很多人看完 LangChain 文档还是不知道怎么用。这篇不聊概念,直接从代码出发。
环境准备
pip install langchain langchain-openai
你需要准备一个 OpenAI API Key,换成国内模型也行,思路一样。
1. LLM 调用:最基础的玩法
LangChain 给 LLM 调用提供了统一接口:
from langchain_openai import ChatOpenAI
llm = ChatOpe ...
📦 Python上下文管理器:with语句与__enter__/__exit__完全指南
📦 引言
在Python编程中,上下文管理器(Context Manager)是一个强大而优雅的特性。它通过with语句实现了资源的自动获取和释放,让代码更加简洁、可读性更强,同时有效避免了资源泄漏问题。本文将深入探讨上下文管理器的工作原理、实现方式以及实际应用场景。
🔍 为什么需要上下文管理器?
在没有上下文管理器之前,我们处 ...
LVGL基础知识和概念:视觉样式与资源系统
这是我们 LVGL 9.0 嵌入式 GUI 开发系列的第二篇,专门拆解 GUI 的「视觉样式与资源系统」—— 也就是给界面做 “皮肤”、配素材的全流程,全程结合 MicroPython 实操,帮嵌入式开发者把界面从 “能用” 做到 “好看、好维护”。
文章先从最基础的样式逻辑讲起,把样式、状态、部件三个核心概念讲明白,把 CSS 里的级 ...
🎯 Python可哈希与不可哈希对象原理:深入理解dict的键
# 🎯 Python可哈希与不可哈希对象原理:深入理解dict的键 在Python中,我们经常会遇到这样的错误:`TypeError: unhashable type: 'list'`。为什么会出现这个错误?什么是"可哈希"?为什么列表不能作为字典的键,而元组却可以?本文将深入探讨Python中的哈希机制,帮你彻底理解这个概念。 ## 一、什么是哈希? 哈希(Hash) ...
使用 Python 将 Excel 数据批量导入到数据库中(SQLite)
在日常数据处理工作中,将 Excel 文件内容导入数据库是一个常见需求。Python 生态中虽然有 pandas、openpyxl 等成熟方案,但当遇到超大型 Excel 文件或需要精细控制单元格格式时,借助专用组件往往能提升开发效率。
本文基于轻量级 Excel 处理库完成 Excel 文件解析,结合 Python 内置的 SQLite 数据库(无需独立部署),实 ...
🎯 Python上下文管理器:with语句与__enter__/__exit__完全指南
🎯 Python上下文管理器:with语句与__enter__/__exit__完全指南
在Python编程中,资源管理一直是一个重要话题。文件操作、数据库连接、线程锁等场景都需要确保资源能够被正确释放。上下文管理器(Context Manager)正是Python为此提供的优雅解决方案,而with语句则是使用它的主要方式。
一、为什么需要上下文管理器?
想象 ...
Postgres - Listen/Notify构建轻量级发布订阅系统
概述
原先设计一个内部系统的消息模块和缓存模块时,只有一个Postgres依赖。想着没多大用户量,没必要额外安装Redis,徒增运维工夫。缓存好解决,配个UNLOGGED表即可。吭吭哧哧琢磨怎么用数据表实现消息的时候,发现PostgreSQL 提供了内置命令 LISTEN 和 NOTIFY,用于在数据库服务器和连接的客户端之间实现异步通信。这个 P ...
理论都会,实战就废?7个分析模板,帮你打通任督二脉
数据分析和编程一样,是有模式的。其实大部分业务分析题,扒开外壳看内核,就那7个套路。
你遇到的那些所谓“新问题”,90%都能套进下面这7个框架。
不管你是在字节、阿里、拼多多,还是一个小创业公司做增长--数据就是数据,逻辑永远不会骗你。
🎯 模式1:连接+筛选 = 精准找人找事
业务场景:
春运期间,12306联合抖音推" ...
ESP32 实现在线动态安装库和自动依赖安装-使用uPyPI包管理平台
引言
做 MicroPython 嵌入式开发的你,是不是每天都在被这些问题折磨?
写好的代码一运行就报错,翻遍半天发现少装了一个依赖文件;更崩溃的是,一个库要带好几个附属文件,漏一个就全盘报废。
这里,我们需要先引出依赖库的概念,在 MicroPython 开发中,依赖库的官方定义非常清晰:
你的主功能代码 / 主库,无法独立 ...
🎯 Python函数参数解包:*args与**kwargs深度解析
📌 引言
在Python编程中,函数参数的处理是一个核心话题。*args和**kwargs是Python中两个强大且灵活的特性,它们让函数能够接受可变数量的位置参数和关键字参数。掌握这两个工具,不仅能让你写出更通用的代码,还能更好地理解和使用Python标准库及第三方库中的函数。
一、*args:可变位置参数
1.1 基本用法
*args允许函数接 ...
🔄 Python循环高级技巧:for-else、while-else、break/continue完全指南
🔄 Python循环高级技巧:for-else、while-else、break/continue完全指南
你以为自己懂Python循环?这些隐藏技巧可能颠覆你的认知。
引言
大多数Python开发者对for和while循环耳熟能详,但有一个"冷门"特性——else子句——却鲜为人知。同时,break和continue虽然是老朋友,但在复杂场景下的行为边界常常让人困惑。
本文将深 ...
密码学系列之流密码&RSA&ECC等
注意本篇大多数的题解都是直接在VsCode点击按钮运行的,如果控制台终端输入python ABC.py(ABC.py为你写的脚本的名称)很可能会报一些小错误。这里我也不知道为什么,真的想不懂。
LSFR
题目:3级线性反馈移位寄存器在c3=1时有4种线性反馈函数,设其初始状态为(a1,a2,a3)=(1,0,1),求各线性反馈函数的输出序列及周期,输出他们 ...