张芷铭的个人博客

Python

共 37 篇文章

#Python #sklearn #机器学习

scikit-learn 是 Python 机器学习库,提供分类、回归、聚类、降维等算法,以及数据预处理和模型评估工具。

官方文档:https://scikit-learn.org/stable/

主要功能 …

#Python #tqdm #进度条

tqdm(阿拉伯语"进步")是 Python 进度条库,为循环提供实时反馈,性能开销接近 O(1)。

核心原理

基于迭代器装饰模式,通过 __iter____next__ 跟踪进度,使用指数平滑算法估算剩余时间 …

#Python #multiprocessing #并行计算

multiprocessing 是 Python 标准库的多进程模块,绕过 GIL 限制实现真正的并行计算。

官方文档:https://docs.python.org/3/library/multiprocessing.html

核心概 …

#微信机器人 #自动化 #Python

微信未开放自动化接口,实现定时发送消息需通过第三方框架或模拟操作,存在封号风险。

需求场景

  • 定时发送消息到微信群
  • 接入大语言模型辅助聊天筛选

方案对比

方案适用场景 …

#Python #PyPI #打包

Python 包发布到 PyPI 后,用户可通过 pip install 直接安装。

项目结构

1
2
3
4
5
6
7
my_package/
├── my_package/
│   ├── __init__.py
│ …

#Python #调试 #pdb

pdb 是 Python 内置调试器,支持断点、单步执行、变量查看;remote-pdb 支持远程调试生产环境。

pdb 核心命令

命令功能说明 …

#Python #元编程 #装饰器

元编程将代码视为数据操作,实现代码生成、修改与分析,提升灵活性与复用性。

核心概念

技术说明示例 …

#Python #多继承 #MRO

多继承允许类同时继承多个父类,实现功能组合,但需解决菱形继承带来的方法解析问题。

Python 多继承语法

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
class Parent1: …

#Python #ACM #输入输出

ACM 模式需自行处理输入输出,掌握 input()split()map() 的组合用法是基础。

基本输入

1
2
3
4
# 输入: 1 2 3 4 5
a = input()           # '1 2 3 …

#Python #Mixin #设计模式

Mixin 模式支持灵活组合模型算子,通过多继承动态注入功能,保持接口统一与资源可控。

基础架构

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22 …

#Python #Mixin #设计模式

Mixin 模式通过多继承动态注入独立功能模块,实现功能的灵活组合,同时避免继承层次过深。

核心思想

Mixin 类不独立使用,而是作为"插件"为其他类提供特定功能:

1
2
class …

#HuggingFace #模型下载 #Transformers

Hugging Face 模型下载支持三种方式:Transformers API、huggingface-cli、手动下载。

方法对比

方法适用场景优 …

#Python #argparse #命令行

argparse 是 Python 标准库命令行参数解析模块,支持位置参数、可选参数、类型转换、自动生成帮助文档。

核心概念

概念说明 …

#Python #bisect #二分查找

bisect 模块提供二分查找算法,用于在有序序列中快速查找插入位置,时间复杂度 O(log n)。

核心函数

函数说明 …

#Python #collections #Counter

collections.Counter 是计数器容器,用于统计可哈希对象的频率,支持字典操作、集合运算和排序。

创建 Counter

1
2
3
4
5
6
7
from collections import Counter …

#Python #ctypes #C语言

ctypes 是 Python 标准库的外部函数接口,允许直接调用 C 动态链接库中的函数。

核心价值

  • 调用系统 API:Windows Kernel32.dll、Linux libc.so
  • 复用 C 库:高性能数学计算、图像处理、硬 …

#einops #Python #张量操作

einops 通过维度名称标注实现张量操作,代码即文档,替代 reshape、transpose、squeeze 等组合调用。

核心优势

优势说明 …

#Python #Hydra #配置管理

Hydra 是 Python 配置管理框架,支持分层配置、命令行覆盖,简化复杂项目的参数管理。

相关资源

#Python #Hydra #配置管理

Hydra 是 Facebook 开发的配置管理框架,支持层次化配置、动态参数修改,适合机器学习实验管理。

核心特性

特性说明 …

#Python #itertools #迭代器

itertools 是 Python 标准库的迭代器工具集,提供高效处理迭代对象的函数。

无限迭代器

函数说明 …

#Python #JAX #自动微分

JAX 是 Google 开发的数值计算库,基于 NumPy API,提供自动微分、JIT 编译和 GPU/TPU 加速。

核心特性

特性说明 …

#Python #logging #日志

Python logging 模块提供灵活的日志管理,支持多级别、多处理器、格式化和日志轮换,替代 print 实现生产级日志记录。

核心组件

组件说明 …

#Python #Paramiko #SSH

Paramiko 是 Python 的 SSH 客户端库,支持远程命令执行和 SFTP 文件传输。

安装

1
pip install paramiko

SSH 连接

1
2
3
4
5
6
7
8
import …

#Python #pathlib #文件路径

pathlib.Path 提供面向对象的文件路径操作,替代 os.path,支持链式调用和路径拼接。

路径属性

属性说明示例 …

#Python #语法糖 #编程语言

Python 语法糖由解释器动态转换,零性能损耗,不增加新功能,仅简化代码。

核心高频语法糖

语法糖示例等价代码 …

#TOML #配置文件 #Python

[[TOML vs JSON vs YAML vs INI 全方位对比]]

TOML(Tom’s Obvious, Minimal Language)由 GitHub 联合创始人 Tom Preston-Werner 创建,设 …

#Python #webdataset #深度学习

webdataset 用于高效处理大规模数据集,通过 .tar 文件流式加载,适配分布式训练场景。

核心优势

特性说明 …

#Pydantic #Python #数据验证

Pydantic 基于类型注解实现数据验证,支持自动类型转换、序列化和结构化错误处理。

核心能力

能力说明
数据 …

#Python #序列化 #pickle

Python 序列化将对象转换为可存储/传输格式,反序列化还原为原始对象。

序列化工具对比

工具特点适用场景 …

#Python #装饰器

装饰器是 Python 的语法糖,本质是函数包装:@decorator 等价于 func = decorator(func)

装饰器基础

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14 …

#Python #Redis #缓存

Redis 是高性能内存数据库,Python 通过 redis-py 库操作,支持 String、Hash、List、Set、Sorted Set 五种数据结构。

安装与连接

1
pip install redis
 1 …

#Python #uv #包管理

uv 是 Astral 开发的极速 Python 包管理工具,替代 pip/venv/poetry,速度快 10-100 倍。

安装

1
2
3
4
5
6
7
8
# Linux/macOS
curl -LsSf …

#Python #全局变量 #特殊变量

Python 提供多个特殊全局变量,用于获取模块和执行上下文信息。

核心特殊变量

变量说明典型值 …

#Python #多线程 #同步

Python 多线程同步机制包括 Lock、Condition、Event、Queue,用于控制线程执行顺序。

同步机制对比

机制特点适用场景 …

#Python #模块 #sys.path

python -m <模块名> 按模块名搜索并运行,自动处理 sys.path 和相对导入。

核心原理

python -m <模块名> 将指定模块以脚本方式运行:

  1. sys.path 搜索模块
  2. 将模块所在目录 …

#Python #注册器 #设计模式

注册器模式通过维护名称到类/函数的映射,实现动态对象创建,适用于插件系统、多算法实现等场景。

核心优势

注册器实现

 1
 2
 3
 4 …

#Python #教程 #随笔

记录编写中文 Python 教程的初衷与计划:精炼风格、循序渐进,于己巩固技术,于人提供参考。

缘起

研二四月,正值忙碌。实验室项目、实习求职、秋招准备,为何还要花时间写一份 Python 教程?

搭建个人网站的念头由来已久,却总因 …