noahgift/functional_intro_to_python
[tutorial]A functional, Data Science focused introduction to Python
它解决了什么问题
本仓库是一个以教学为导向的Python入门教程,刻意保持简短和实用,面向零编程经验的绝对初学者。它优先考虑以数据科学为中心的路径,同时也涵盖更高级的主题,如机器学习、线性优化、构建系统、命令行工具、推荐引擎、情感分析和云计算。
工作原理
课程以Jupyter笔记本形式提供,位于notebooks/目录下,通过make install安装依赖后,可使用uv run jupyter lab运行。工具链明确现代化:uv用于环境和依赖管理,ruff用于代码检查和格式化,ty用于类型检查,pytest和coverage用于测试(要求100%分支覆盖率),icontract和hypothesis用于契约。一个关键特性是每个示例都可以使用depyler转译为Rust,并且Rust输出必须通过clippy -D warnings和proptest的同等检查。所有质量门禁通过Make目标强制执行,CI中的grep检查确保不使用pip、pylint、black、mypy或poetry等遗留工具。
适用对象
专为没有编程背景、希望快速以最小路径进入Python数据科学领域的学习者设计。它也适用于对函数式编程风格感兴趣的程序员,以及那些好奇如何用形式化契约检查Python代码并安全地转换为Rust的人。后续课程难度有所提高,因此也适合希望在Python环境中探索机器学习、优化和云计算主题的人。
亮点
- 刻意简短、实用、数据科学优先的入门教程
- 现代工具链:
uv、ruff、ty、pytest、coverage——无遗留工具 - 强制100%分支覆盖率,通过
icontract和hypothesis提供可验证的契约 - 每个示例均可通过
depyler转译为Rust,并在Rust端进行严格的代码检查和属性测试 - 涵盖五个核心课程:入门概念、函数、控制结构、中级主题(类、模块、库)和输入输出
- 额外的进阶部分涵盖机器学习、优化、构建系统、命令行工具、推荐引擎、情感分析和云计算
相关
- 项目
- 项目
- 项目
- 项目