去年 AI 火了以后,很多工具和教程都是 Python 的。想跑个本地模型要 Python,想调 OpenAI 的接口官方示例也是 Python,想搞个数据分析还是 Python。作为一个写了好几年 JavaScript 的前端,终于还是没忍住学了一下。
这里不打算写一篇完整的 Python 教程,就记一下我作为 JS 开发者学 Python 过程中那些”跟 JS 不一样”的地方,以及一些快速上手的笔记。
1. 环境搭建
1 | # macOS 自带 Python,但版本可能很旧 |
虚拟环境这个概念在 JS 里没有(node_modules 天然就是项目级的),但 Python 需要手动搞:
1 | # 创建虚拟环境(类似于给项目建个独立的 node_modules) |
激活之后装的包只在当前虚拟环境里,不会污染全局。
2. 语法层面:跟 JS 的主要区别
缩进代替大括号
这个是最不习惯的。Python 用缩进来表示代码块,没有花括号。
1 | # Python |
刚开始经常忘了加冒号,或者缩进弄乱了报 IndentationError。
变量和类型
1 | # 不用 let/const/var,直接赋值 |
字符串
1 | # f-string,类似 JS 的模板字符串 |
列表和字典
1 | # 列表 ≈ JS 的数组 |
列表推导式
Python 的一大特色,JS 里没有直接对应的语法:
1 | # 相当于 JS 的 [1,2,3,4,5].map(x => x * x) |
函数
1 | def greet(name, greeting="你好"): |
3. 包管理:pip ≈ npm
1 | # 安装包 |
requirements.txt 就是 Python 的 package.json,不过简陋得多,就是一行行包名。
4. 前端最可能用到的场景
调 OpenAI 接口
1 | pip install openai |
1 | from openai import OpenAI |
写个简单的 HTTP 接口
1 | pip install flask |
1 | from flask import Flask, jsonify, request |
写起来确实比 Express 还简洁。
数据处理
1 | pip install pandas |
1 | import pandas as pd |
5. 一些”差点被绊倒”的地方
- **没有
===**:Python 判等就用==,没有严格等于的概念 - None 不是 null:Python 里空值叫
None,判断用is None而不是== None - **没有
{}**:空字典是{},但空集合是set(),不是{} - **for 循环没有传统的
for(i=0; i<n; i++)**:用for i in range(n)代替 - 整数除法:
7 / 2结果是3.5,想要整数用7 // 2得到3
6. 总结
作为一个前端开始学 Python,最大的感受是:语法比 JS 简洁,但生态和工具链风格完全不同。JS 的 npm 生态虽然混乱但足够丰富,Python 的包管理更原始一些(虚拟环境那套东西不如 node_modules 直观)。
不过在 AI 和数据处理这两个领域,Python 的库确实比 JS 成熟太多了。花几天时间学个基本语法,至少以后看到 Python 代码不会发怵,遇到 AI 相关的东西也能自己动手试了。
评论加载中…