FastAPI入门:Python后端开发新手也能写出高薪简历项目

清醒开发者
2025-12-25 16:44
阅读 665

大家好,我是阿哲,一名在大厂干了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,一般不会乱码;若遇问题,检查浏览器编码
如何部署到网上? 初期可用 RenderVercel 免费部署(后续我会出教程)
和 Flask/Django 有什么区别? FastAPI 更现代、更快、自带文档和类型校验,适合 API 开发

避坑指南:我踩过的雷,你别踩

  1. 不要一上来就学数据库
    新手容易陷入“我要连 MySQL”的误区。先用内存数据(比如上面的字典)做出功能,再考虑持久化。

  2. 别纠结“完美架构”
    你的第一个项目不需要分层、不需要单元测试。先跑起来,再优化!

  3. 爬虫 ≠ 后端
    很多人以为会爬虫就是后端,其实后端的核心是“提供服务”。把爬虫结果通过 API 输出,才是正确用法。

  4. 简历要突出“解决问题”
    不要写“使用 FastAPI 开发接口”,而要写:“通过 FastAPI 构建数据服务,为前端提供实时 GitHub 数据,提升项目信息丰富度”。


下一步学习建议

完成这个小项目后,你可以:

  1. 增加 POST 接口:让用户提交数据(比如留言)
  2. 添加 Pydantic 模型:用类型校验让 API 更健壮
  3. 连接 SQLite:把数据存到本地数据库
  4. 部署上线:让全世界都能访问你的 API
  5. 结合前端:用 HTML + JS 调用你的接口,做出完整网站

📌 我的 B 站频道会陆续更新《FastAPI 从入门到部署》系列视频,关注不迷路!


写在最后

FastAPI 的魅力在于:用最简单的代码,做出最专业的效果。你不需要成为架构师,也能快速构建出可展示、可部署、可写进简历的后端项目。

记住:每一个高级工程师,都是从 Hello World 开始的。你现在写的这几行代码,可能就是未来高薪 offer 的起点。

动手试试吧!遇到问题欢迎在评论区留言,我会一一解答。如果你觉得这篇教程有帮助,也别忘了点赞收藏,让更多零基础的同学看到!

作者:阿哲|大厂后端工程师|B站技术UP主
关注我,带你用实战项目打通 Python 开发之路 🚀

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝