Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

python-for-java

面向 Java 后端开发者 的 Python 速成仓 —— 目标不是把 Python 学成另一门全栈语言,而是用 4–6 周拿下 Python Agent 生态 里最常用的工程能力。

学完能做到:

  • 读懂并运行 LangChain / LangGraph / AutoGen / LlamaIndex 的示例
  • 用 Python 快速做 Agent 原型、数据处理、批量评估脚本
  • 理解 Agent 工程的那条主线:输入 → prompt/message → model → tool/retriever → state → output → evaluation

完整版见 java-to-python-learning-roadmap.md


🧭 4–6 周学习路线

每天 1 小时按 6 周,每天 2–3 小时可压到 4 周。

主题 重点 产出
第 1 周 Python 可读可写 基础语法、容器、函数、文件、JSON、类型提示、dataclass 3 个小脚本 + 1 个 JSON 处理工具 + 1 个 pytest 文件
第 2 周 脚本 / HTTP / Pydantic argparse、logging、requests、httpx、Pydantic 一个 API client + 一组 Pydantic 模型 + 一个批处理脚本
第 3 周 asyncio / FastAPI async/await、gather、semaphore、route、请求/响应模型 一个异步批处理器 + 一个 FastAPI Agent 原型服务
第 4 周 Notebook / pandas DataFrame、groupby、merge、评估结果分析 一个评估分析 Notebook + summary 报表 + 失败样本分析
第 5 周 LangChain / LlamaIndex prompt、model、parser、tool、retriever、RAG 一个 chat+tool 示例 + 一个本地文档问答示例
第 6 周 LangGraph / AutoGen graph state、node、edge、多 Agent 消息流、tool execution 一个多节点工作流 + 一个双 Agent 协作示例

🔄 Java → Python 心智迁移

Java 常见概念 Python 对应 学习重点
Maven / Gradle pip / uv / poetry / pyproject.toml 创建虚拟环境、装依赖、固定版本
package / classpath module / package / import path 文件即模块、目录即包
POJO / DTO dict / dataclass / Pydantic model 区分轻量数据结构与强校验模型
Jackson Pydantic / json 序列化、反序列化、类型转换
Bean Validation Pydantic validators 入参、配置、LLM 输出结构化校验
Spring Boot Controller FastAPI route 快速暴露 HTTP API
RestTemplate / WebClient requests / httpx 同步与异步 HTTP 调用
CompletableFuture / Reactor asyncio / await 协程、并发 IO、任务编排
Stream API 推导式 / generator / pandas 数据清洗、转换、聚合
JUnit pytest 脚本级与评估级可运行测试
main 方法 if __name__ == "__main__" 命令行脚本入口

最容易踩的几个坑:缩进是语法不是格式;变量是名字绑定不是 Java 引用;可变默认参数 def f(x=[]) 要避免;is 判身份、== 判值相等;别一上来套复杂 OO,Python 示例更偏函数式 + 数据流。


📚 学习进度

阶段 主题 教程 带注释示例 测试
1 Python 基础语法 stage1 scripts/stage1_syntax_examples.py tests/test_stage1_syntax_examples.py
2 基础脚本能力 stage2 scripts/stage2_basic_scripting.py tests/test_stage2_basic_scripting.py
3 requests / httpx stage3 scripts/stage3_http_client.py tests/test_stage3_http_client.py
4 Pydantic stage4 scripts/stage4_pydantic_models.py tests/test_stage4_pydantic_models.py
5 asyncio stage5 scripts/stage5_asyncio_tasks.py tests/test_stage5_asyncio_tasks.py
6 FastAPI stage6 services/app.py tests/test_stage6_fastapi_app.py
7 Jupyter Notebook stage7 notebooks/analyze_eval.ipynb tests/test_stage7_notebook.py
8 pandas stage8 scripts/stage8_pandas_analysis.py tests/test_stage8_pandas_analysis.py
9 Agent 生态(LangChain/LangGraph/AutoGen/LlamaIndex) stage9 scripts/stage9_minimal_agent.py tests/test_stage9_minimal_agent.py

9 个阶段全部完成 🎉。目前全仓 116 个测试,全部通过


🚀 快速开始

# Windows PowerShell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

# 跑全部测试
python -m pytest -q

# 跑某个阶段的示例
python scripts\stage1_syntax_examples.py
# macOS / Linux
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m pytest -q

📂 目录结构

python-for-java/
├─ java-to-python-learning-roadmap.md   # 完整 9 阶段路线图
├─ stage1-python-basics-tutorial.md     # 阶段教程
├─ stage2-basic-scripting-tutorial.md
├─ stage3-http-clients-tutorial.md
├─ scripts/                             # 带注释的语法/脚本示例
├─ tests/                               # 对应 pytest 测试
├─ data/                                # 练习与评估数据、结果
├─ notebooks/                           # Notebook 实验(阶段 7)
├─ services/                            # FastAPI 服务(阶段 6)
└─ requirements.txt

📖 读 Python Agent 示例的方法

不要从每个类的源码读起,按数据流抓主线:

  1. 看输入(用户问题 / 文档 / 消息 / 状态)
  2. 看输出(回答 / 结构化 JSON / 工具结果 / 状态更新)
  3. 找模型调用位置 → 4. 找 prompt/system message → 5. 找 tool 定义
  4. 找状态/消息对象 → 7. 找执行入口(invoke / ainvoke / run / stream / async for
  5. 最后再看框架特有抽象

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages