01
Rust与Python混合编程概述
为什么需要混合编程 · 应用场景分析 · 技术选型对比 (PyO3 vs ctypes vs CFFI)
概述选型
02
开发环境搭建
安装Rust工具链 · Python虚拟环境 · 配置Cargo与PyO3 · Hello World验证
环境配置
03
PyO3基础入门
第一个Rust扩展模块 · Python中调用Rust函数 · Python对象与Rust类型转换
PyO3入门
04
数据类型转换 (上)
基本类型 int/float/bool/str 在Rust与Python间的双向传递
类型基础
05
数据类型转换 (下)
复合类型 list/dict/tuple/set 转换与性能考量
复合类型性能
06
错误处理机制
Result与Python异常互转 · 自定义错误类型 · panic安全边界
错误处理安全
07
Rust函数导出到Python
函数签名设计 · 默认参数与关键字参数 · 可变参数支持
导出参数
08
Python类与Rust结构体映射
#[pyclass]定义Python类 · 属性与方法绑定 · 继承与多态模拟
类映射pyclass
09
Python对象在Rust中的操作
借用与引用计数 · GIL管理 · Python迭代器在Rust中使用
GIL引用
10
性能优化基础
减少边界调用 · 批量数据处理 · 使用Rust迭代器模式
性能迭代器
11
并行与并发
Rust多线程扩展 · 处理GIL限制 · 使用rayon数据并行
并行rayon
12
异步编程集成
Rust异步运行时(tokio)与Python asyncio桥接 · 异步函数导出
异步tokio
13
内存管理与所有权
Rust所有权在Python扩展中的体现 · 避免内存泄漏 · PyO3内存池
所有权内存
14
字符串处理进阶
Python字符串与Rust &str/String高效转换 · 编码处理 · 零拷贝技术
字符串零拷贝
15
NumPy数组交互
PyO3操作NumPy数组 · 零拷贝视图 · 自定义ufunc
NumPyufunc
16
文件与IO操作
Rust读写Python文件对象 · 大文件流 · 使用mmap加速
IOmmap
17
日志与调试
集成Python logging与Rust log · 调试技巧 · 性能分析工具
日志调试
18
测试与基准测试
为Rust扩展编写Python测试 · pytest测试Rust模块 · 基准对比
测试pytest
19
包管理与发布
使用maturin构建与发布 · 配置pyproject.toml · 发布到PyPI
发布maturin
20
跨平台编译
Windows/Linux/macOS交叉编译 · 平台特定代码 · CI/CD集成
跨平台CI/CD
21
ctypes与CFFI对比
ctypes调用Rust动态库 · CFFI调用Rust · 与PyO3优劣分析
ctypesCFFI
22
Rust与Python混合调试
gdb/lldb调试Rust扩展 · Python traceback与Rust backtrace联动
调试gdb
23
安全与沙箱
Rust中执行Python代码的安全考量 · 沙箱技术 · 限制资源使用
安全沙箱
24
大型项目结构设计
Rust工作空间与Python包目录组织 · 模块拆分 · 构建脚本
架构工作空间
25
WebAssembly集成
Rust-Python混合模块编译为Wasm · 浏览器中运行 · 性能对比
Wasm浏览器
26
机器学习应用
Rust加速Python ML管线 · 自定义算子 · 与PyTorch/TensorFlow交互
机器学习算子
27
网络编程
Rust扩展中高性能网络服务 · Python asyncio集成 · WebSocket支持
网络WebSocket
28
数据库操作
Rust操作SQLite/PostgreSQL · 与Python ORM协同 · 连接池管理
数据库连接池
29
实战案例一:高性能日志解析器
Python调用Rust解析引擎,处理10GB级日志文件
实战日志
30
实战案例二:实时数据处理管道
Rust数据采集与预处理 · Python业务逻辑与可视化
实战管道