GenAI 所需的 Python 基础知识
你熟悉 JavaScript 和 TypeScript。现在你想使用 LangChain 和 GenAI 工具进行开发。你需要 Python。
你不需要从零开始。你可以将 Python 的概念与你已有的知识进行类比。
以下是为 JS 开发者准备的快速对照指南:
核心语法
- 变量:使用简单的赋值。对于常量,使用大写字母 (UPPER_CASE)。
- 布尔值:使用
True和False(首字母大写)。 - Null/Undefined:使用
None。 - 打印:使用
print()而不是console.log()。 - 模板字符串:使用 f-strings,例如
f"Hello, {name}"。
逻辑与流程
- 缩进:Python 使用空格/缩进而不是花括号
{}。这是最重要的变化。 - 真值/假值 (Truthy/Falsy):在 JS 中,空数组
[]是真值 (truthy)。在 Python 中,空列表[]是假值 (falsy)。 - 比较:Python 的
==比较值,类似于 JS 的===。
数据结构
- 列表 (Lists):类似于 Array。使用
.append()而不是.push()。 - 字典 (Dictionaries):类似于 Object。使用
person["name"]来访问值。 - 元组 (Tuples):类似于冻结的数组 (frozen arrays)。创建后无法修改。
- 集合 (Sets):用于存储唯一项以及进行交集等数学运算。
函数式模式
- Map 和 Filter:使用列表推导式 (list comprehensions) 来代替
.map()和.filter()。 - 示例:
[n * 2 for n in numbers]可以替代numbers.map(n => n * 2)。 - 解构 (Destructuring):使用解包 (unpacking) 一次性为多个变量赋值。
现代 GenAI 必备知识
- Pydantic:这非常关键。LangChain 使用 Pydantic 进行数据验证和结构化输出。
- 装饰器 (Decorators):它们的作用类似于 React 中的高阶组件 (Higher-Order Components)。通过包装函数来添加逻辑。
- 异步 (Async):Python 使用
async和await,与 JS 一样。使用asyncio.gather()来代替Promise.all()。 - 生成器 (Generators):允许你逐个流式传输 (stream) LLM 的 token。
包管理
npm对应pip。node_modules对应.venv。package.json对应requirements.txt。
请务必使用虚拟环境 (.venv) 来保持项目的整洁。
来源:https://dev.to/ajmal_hasan/python-essentials-for-genai-lji