GenAI 必备 Python 基础
你熟悉 JavaScript 和 TypeScript。你想使用 LangChain、LangGraph 和 GenAI 工具进行开发。那么你需要 Python。
你不需要学习一种全新的思维方式。你只需要将 Python 的概念映射到你已有的知识体系中即可。
以下是你的快速对照指南。
核心语法
- 变量:没有 let 或 const。使用 name = "Ajmal"。常量使用大写字母。
- 布尔值:true/false 变为
True/False。 - Null/Undefined:使用
None。 - 字符串:模板字符串
${name}变为 f-stringsf"{name}"。 - 打印:
console.log()变为print()。 - 缩进:Python 使用空格而不是花括号
{}。这是最重要的变化。
数据结构
- 列表 (Lists):类似于 JS 的 Array。使用 fruits.append("date") 而不是 fruits.push("date")。
- 字典 (Dicts):类似于 JS 的 Object。使用 person["name"] 来访问值。
- 切片 (Slicing):Python 的一项“超能力”。使用
fruits[1:3]来获取特定范围。 - 集合 (Sets):类似于 JS 的 Set。非常适合去重。
- 元组 (Tuples):类似于“冻结”的数组。创建后无法修改。
函数式模式
- Map:不要使用
.map(),而是使用列表推导式 (list comprehensions):[n * 2 for n in numbers]。 - Filter:不要使用
.filter(),而是使用:[n for n in numbers if n > 5]。 - 展开运算符 (Spread):使用
*args处理位置参数,使用**kwargs处理关键字参数。
类与校验
- 类 (Classes):使用
self而不是this。 - Pydantic:这在 GenAI 中至关重要。它负责数据校验。LangChain 从工具 Schema 到 LLM 输出的方方面面都会用到它。
- 装饰器 (Decorators):类似于 React 中的高阶组件 (Higher Order Components)。它们通过包装函数来增加功能。
异步与文件 I/O
- 异步 (Async):Python 使用
async/await,与 JS 一样。使用asyncio.gather()代替Promise.all()。 - 上下文管理器 (Context Managers):使用
with语句来打开文件。它会自动处理清理工作,这样你就不会忘记关闭文件。 - 异常处理 (Exceptions):
try/catch变为try/except。throw变为raise。
环境管理
- 包管理器:
npm变为pip。 - 依赖文件:
package.json变为requirements.txt。 - 本地模块:
node_modules/变为.venv/。在安装包之前,务必先激活你的虚拟环境。
掌握这些映射关系,你就可以立即开始构建 AI Agent 了。
来源:https://dev.to/ajmal_hasan/python-essentials-for-genai-lji