Python
共 37 篇文章
scikit-learn 是 Python 机器学习库,提供分类、回归、聚类、降维等算法,以及数据预处理和模型评估工具。
官方文档:https://scikit-learn.org/stable/
主要功能 …
tqdm(阿拉伯语"进步")是 Python 进度条库,为循环提供实时反馈,性能开销接近 O(1)。
核心原理
基于迭代器装饰模式,通过 __iter__ 和 __next__ 跟踪进度,使用指数平滑算法估算剩余时间 …
multiprocessing 是 Python 标准库的多进程模块,绕过 GIL 限制实现真正的并行计算。
官方文档:https://docs.python.org/3/library/multiprocessing.html
核心概 …
微信未开放自动化接口,实现定时发送消息需通过第三方框架或模拟操作,存在封号风险。
需求场景
- 定时发送消息到微信群
- 接入大语言模型辅助聊天筛选
方案对比
| 方案 | 适用场景 … |
|---|
Python 包发布到 PyPI 后,用户可通过
pip install直接安装。
项目结构
| |
pdb 是 Python 内置调试器,支持断点、单步执行、变量查看;remote-pdb 支持远程调试生产环境。
pdb 核心命令
| 命令 | 功能 | 说明 … |
|---|
元编程将代码视为数据操作,实现代码生成、修改与分析,提升灵活性与复用性。
核心概念
| 技术 | 说明 | 示例 … |
|---|
多继承允许类同时继承多个父类,实现功能组合,但需解决菱形继承带来的方法解析问题。
Python 多继承语法
| |
ACM 模式需自行处理输入输出,掌握
input()、split()、map()的组合用法是基础。
基本输入
| |
Mixin 模式支持灵活组合模型算子,通过多继承动态注入功能,保持接口统一与资源可控。
基础架构
|
Mixin 模式通过多继承动态注入独立功能模块,实现功能的灵活组合,同时避免继承层次过深。
核心思想
Mixin 类不独立使用,而是作为"插件"为其他类提供特定功能:
| |
Hugging Face 模型下载支持三种方式:Transformers API、huggingface-cli、手动下载。
方法对比
| 方法 | 适用场景 | 优 … |
|---|
argparse 是 Python 标准库命令行参数解析模块,支持位置参数、可选参数、类型转换、自动生成帮助文档。
核心概念
| 概念 | 说明 … |
|---|
bisect 模块提供二分查找算法,用于在有序序列中快速查找插入位置,时间复杂度 O(log n)。
核心函数
| 函数 | 说明 … |
|---|
collections.Counter 是计数器容器,用于统计可哈希对象的频率,支持字典操作、集合运算和排序。
创建 Counter
| |
ctypes 是 Python 标准库的外部函数接口,允许直接调用 C 动态链接库中的函数。
核心价值
- 调用系统 API:Windows Kernel32.dll、Linux libc.so
- 复用 C 库:高性能数学计算、图像处理、硬 …
einops 通过维度名称标注实现张量操作,代码即文档,替代 reshape、transpose、squeeze 等组合调用。
核心优势
| 优势 | 说明 … |
|---|
Hydra 是 Python 配置管理框架,支持分层配置、命令行覆盖,简化复杂项目的参数管理。
相关资源
Hydra 是 Facebook 开发的配置管理框架,支持层次化配置、动态参数修改,适合机器学习实验管理。
核心特性
| 特性 | 说明 … |
|---|
itertools 是 Python 标准库的迭代器工具集,提供高效处理迭代对象的函数。
无限迭代器
| 函数 | 说明 … |
|---|
JAX 是 Google 开发的数值计算库,基于 NumPy API,提供自动微分、JIT 编译和 GPU/TPU 加速。
核心特性
| 特性 | 说明 … |
|---|
Python logging 模块提供灵活的日志管理,支持多级别、多处理器、格式化和日志轮换,替代 print 实现生产级日志记录。
核心组件
| 组件 | 说明 … |
|---|
Paramiko 是 Python 的 SSH 客户端库,支持远程命令执行和 SFTP 文件传输。
安装
| |
SSH 连接
| |
pathlib.Path 提供面向对象的文件路径操作,替代 os.path,支持链式调用和路径拼接。
路径属性
| 属性 | 说明 | 示例 … |
|---|
Python 语法糖由解释器动态转换,零性能损耗,不增加新功能,仅简化代码。
核心高频语法糖
| 语法糖 | 示例 | 等价代码 … |
|---|
[[TOML vs JSON vs YAML vs INI 全方位对比]]
TOML(Tom’s Obvious, Minimal Language)由 GitHub 联合创始人 Tom Preston-Werner 创建,设 …
webdataset 用于高效处理大规模数据集,通过 .tar 文件流式加载,适配分布式训练场景。
核心优势
| 特性 | 说明 … |
|---|
Pydantic 基于类型注解实现数据验证,支持自动类型转换、序列化和结构化错误处理。
核心能力
| 能力 | 说明 |
|---|---|
| 数据 … |
Python 序列化将对象转换为可存储/传输格式,反序列化还原为原始对象。
序列化工具对比
| 工具 | 特点 | 适用场景 … |
|---|
装饰器是 Python 的语法糖,本质是函数包装:
@decorator等价于func = decorator(func)。
装饰器基础
|
Redis 是高性能内存数据库,Python 通过 redis-py 库操作,支持 String、Hash、List、Set、Sorted Set 五种数据结构。
安装与连接
| |
|
uv 是 Astral 开发的极速 Python 包管理工具,替代 pip/venv/poetry,速度快 10-100 倍。
安装
| |
Python 提供多个特殊全局变量,用于获取模块和执行上下文信息。
核心特殊变量
| 变量 | 说明 | 典型值 … |
|---|
Python 多线程同步机制包括 Lock、Condition、Event、Queue,用于控制线程执行顺序。
同步机制对比
| 机制 | 特点 | 适用场景 … |
|---|
python -m <模块名>按模块名搜索并运行,自动处理sys.path和相对导入。
核心原理
python -m <模块名> 将指定模块以脚本方式运行:
- 按
sys.path搜索模块 - 将模块所在目录 …
注册器模式通过维护名称到类/函数的映射,实现动态对象创建,适用于插件系统、多算法实现等场景。
核心优势
- 解耦:模块定义与使用分离
- 动态:通过字符串名称创建实例
- 可扩展:新增模块无需修改核心代码
注册器实现
|
记录编写中文 Python 教程的初衷与计划:精炼风格、循序渐进,于己巩固技术,于人提供参考。
缘起
研二四月,正值忙碌。实验室项目、实习求职、秋招准备,为何还要花时间写一份 Python 教程?
搭建个人网站的念头由来已久,却总因 …
张芷铭的个人博客