GenAI 必备 Python 基础

你熟悉 JavaScript 和 TypeScript。你想使用 LangChain、LangGraph 和 GenAI 工具进行开发。那么你需要 Python。

你不需要学习一种全新的思维方式。你只需要将 Python 的概念映射到你已有的知识体系中即可。

以下是你的快速对照指南。

核心语法

  • 变量:没有 let 或 const。使用 name = "Ajmal"。常量使用大写字母。
  • 布尔值:true/false 变为 True/False
  • Null/Undefined:使用 None
  • 字符串:模板字符串 ${name} 变为 f-strings f"{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/exceptthrow 变为 raise

环境管理

  • 包管理器:npm 变为 pip
  • 依赖文件:package.json 变为 requirements.txt
  • 本地模块:node_modules/ 变为 .venv/。在安装包之前,务必先激活你的虚拟环境。

掌握这些映射关系,你就可以立即开始构建 AI Agent 了。

来源:https://dev.to/ajmal_hasan/python-essentials-for-genai-lji