FastAPI入门:Python后端开发新手也能写出高薪简历项目
大家好,我是阿哲,一名在大厂干了3年Python后端开发的工程师,平时也在B站分享技术干货。最近收到不少私信:“学完Python基础后该做什么?”、“想做后端但不知道从哪开始”、“简历上除了爬虫还能写点啥?”
我当初学的时候也卡在这一步——会写点脚本、能跑个爬虫,但总觉得离“真正的开发”还差一大截。直到我遇到了 FastAPI,它让我用不到10行代码就搭起了一个能被浏览器访问的后端服务!今天这篇教程,就是专门给零基础同学准备的,手把手带你用FastAPI做出一个可写进简历的小项目。
为什么是 FastAPI?
FastAPI 是一个用 Python 编写的现代、高性能的 Web 框架,专门用来构建 API(应用程序接口)。你可以把它理解成“让 Python 能对外提供网络服务”的工具。
它的优势对新手特别友好:
- 自动文档:写完代码,自动生成漂亮的 API 文档(带测试界面!)
- 类型提示:用 Python 的类型注解就能自动校验数据,减少 bug
- 速度快:性能接近 Go 和 Node.js,远超 Flask、Django
- 简单易学:核心概念少,5 分钟就能跑起第一个接口
最重要的是——它能让你快速做出一个“看起来很专业”的项目,直接放进简历里,比单纯的“天气爬虫”更有竞争力!
环境准备:5分钟搞定开发环境
💡 提示:以下步骤在 Windows / macOS / Linux 上都适用
第一步:安装 Python(3.7+)
确保你已安装 Python 3.7 或更高版本。打开终端(命令提示符)输入:
python --version
# 或
python3 --version
如果没安装,请去 python.org 下载最新版,并记得勾选 “Add to PATH”(Windows 用户)。
第二步:创建虚拟环境(推荐)
虚拟环境能避免不同项目之间的依赖冲突。执行以下命令:
# 创建名为 fastapi_env 的虚拟环境
python -m venv fastapi_env
# 激活虚拟环境
# Windows:
fastapi_env\Scripts\activate
# macOS / Linux:
source fastapi_env/bin/activate
看到命令行前出现 (fastapi_env) 就表示激活成功!
第三步:安装 FastAPI 和 Uvicorn
Uvicorn 是一个高性能的 ASGI 服务器,用来运行 FastAPI 应用。
pip install fastapi uvicorn[standard]
等待几秒,安装完成!
核心概念:3个关键词搞懂 FastAPI
别被“后端”吓到,FastAPI 只需理解三个东西:
1. @app.get("/") —— 路由(Route)
告诉程序:当用户访问某个网址时,执行什么函数。
比如:
@app.get("/hello")
def say_hello():
return {"message": "你好,世界!"}
当用户打开 http://localhost:8000/hello,就会看到 JSON 数据。
2. 返回值 —— 自动转成 JSON
你直接 return 一个字典(dict),FastAPI 会自动把它变成网页能读的 JSON 格式。不用手动转换!
3. 自动文档 —— /docs
只要运行程序,访问 http://localhost:8000/docs,就能看到交互式 API 文档,还能直接在网页上测试接口!
实战:做一个“简历增强器”API
我们来做一个小项目:一个能返回你个人信息的 API。虽然简单,但你可以部署上线,写进简历:“使用 FastAPI 开发个人数据服务”。
步骤 1:新建文件 main.py
在项目文件夹中创建 main.py,写入以下代码:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def home():
return {"welcome": "欢迎来到我的简历 API!"}
@app.get("/about")
def about_me():
return {
"name": "张三",
"age": 24,
"skills": ["Python", "FastAPI", "爬虫", "数据分析"],
"github": "https://github.com/zhangsan"
}
步骤 2:运行服务
在终端执行:
uvicorn main:app --reload
main是文件名(main.py)app是代码中的变量名(app = FastAPI())--reload表示代码修改后自动重启(开发时超方便!)
看到类似输出:
INFO: Uvicorn running on http://127.0.0.1:8000
说明服务已启动!
步骤 3:访问你的 API
打开浏览器,访问:
http://localhost:8000/→ 看到欢迎信息http://localhost:8000/about→ 看到你的“简历数据”http://localhost:8000/docs→ 打开自动生成的文档!
试试在 /docs 页面点 “Try it out” → “Execute”,是不是立刻看到了返回结果?这就是专业感!
进阶:加入“爬虫”元素,让项目更亮眼
很多同学会爬虫,但不知道怎么和后端结合。其实很简单:在 API 里调用爬虫函数即可!
假设你写了一个爬取 GitHub 用户 Star 数的函数:
import requests
def get_github_stars(username: str) -> int:
url = f"https://api.github.com/users/{username}"
resp = requests.get(url)
if resp.status_code == 200:
return resp.json().get("public_repos", 0)
return 0
把这段代码加到 main.py 中,再新增一个接口:
@app.get("/stars/{username}")
def github_stars(username: str):
stars = get_github_stars(username)
return {"username": username, "public_repos": stars}
现在访问 http://localhost:8000/stars/tiangolo(FastAPI 作者的 GitHub),就能看到他的公开仓库数!
✅ 简历加分项:
“开发 RESTful API,集成第三方数据(GitHub),支持动态查询”
这句话比“会写爬虫”强十倍!
新手常见问题解答
| 问题 | 解决方案 |
|---|---|
访问 localhost:8000 显示无法连接 |
检查终端是否还在运行 uvicorn;确认端口没被占用 |
| 修改代码后没生效 | 确保启动时加了 --reload 参数 |
| 中文显示乱码 | FastAPI 默认返回 UTF-8,一般不会乱码;若遇问题,检查浏览器编码 |
| 如何部署到网上? | 初期可用 Render 或 Vercel 免费部署(后续我会出教程) |
| 和 Flask/Django 有什么区别? | FastAPI 更现代、更快、自带文档和类型校验,适合 API 开发 |
避坑指南:我踩过的雷,你别踩
不要一上来就学数据库
新手容易陷入“我要连 MySQL”的误区。先用内存数据(比如上面的字典)做出功能,再考虑持久化。别纠结“完美架构”
你的第一个项目不需要分层、不需要单元测试。先跑起来,再优化!爬虫 ≠ 后端
很多人以为会爬虫就是后端,其实后端的核心是“提供服务”。把爬虫结果通过 API 输出,才是正确用法。简历要突出“解决问题”
不要写“使用 FastAPI 开发接口”,而要写:“通过 FastAPI 构建数据服务,为前端提供实时 GitHub 数据,提升项目信息丰富度”。
下一步学习建议
完成这个小项目后,你可以:
- 增加 POST 接口:让用户提交数据(比如留言)
- 添加 Pydantic 模型:用类型校验让 API 更健壮
- 连接 SQLite:把数据存到本地数据库
- 部署上线:让全世界都能访问你的 API
- 结合前端:用 HTML + JS 调用你的接口,做出完整网站
📌 我的 B 站频道会陆续更新《FastAPI 从入门到部署》系列视频,关注不迷路!
写在最后
FastAPI 的魅力在于:用最简单的代码,做出最专业的效果。你不需要成为架构师,也能快速构建出可展示、可部署、可写进简历的后端项目。
记住:每一个高级工程师,都是从 Hello World 开始的。你现在写的这几行代码,可能就是未来高薪 offer 的起点。
动手试试吧!遇到问题欢迎在评论区留言,我会一一解答。如果你觉得这篇教程有帮助,也别忘了点赞收藏,让更多零基础的同学看到!
作者:阿哲|大厂后端工程师|B站技术UP主
关注我,带你用实战项目打通 Python 开发之路 🚀

评论 0