FastAPI入门:Python后端开发新手指南
一、开篇:FastAPI是什么?它能做什么?

你有没有想过,当你在浏览器上打开一个网站,比如淘宝、知乎或者B站,你的电脑是怎么和服务器“对话”的呢?
这背后其实有一个叫做后端开发的技术在默默运行。简单来说,后端就是负责处理数据、管理逻辑,并把结果返回给前端(也就是你在网页上看到的部分)。
而我们今天要学习的 FastAPI,就是一个用来做后端开发的 Python 框架,它的主要特点有:
- 速度快:是目前 Python 中最快的 Web 框架之一
- 易于使用:写法简洁,学习门槛低
- 自动生成文档:不需要手动写接口文档,它自动帮你做好了!
- 支持异步编程:可以处理更复杂的任务
适合谁学:
- 完全零基础的新手
- 对 Python 已有一定了解的人
- 想做网站后台开发的前端开发者
- 想转型为后端程序员的学习者
接下来我们就从最简单的环境搭建开始吧!
二、环境准备:安装 FastAPI 和相关工具


1. 安装 Python(建议3.8及以上)
如果你还没安装 Python,可以前往官网下载并安装最新版本的 Python:
👉 https://www.python.org/downloads/
安装完成后,在命令行输入下面这行代码验证是否安装成功:
python --version
如果你看到了类似 Python 3.x.x 的字样,说明安装成功。
2. 创建项目文件夹
我们可以先创建一个新的项目目录:
mkdir fastapi_project
cd fastapi_project
在这个文件夹里,我们会编写我们的第一个 FastAPI 程序。
3. 安装 FastAPI 和 Uvicorn(运行器)
我们使用 pip 来安装 FastAPI:
pip install fastapi uvicorn
解释一下这两个工具的作用:
| 名称 | 作用描述 |
|---|---|
| FastAPI | 构建接口的核心框架 |
| Uvicorn | 一个 ASGI 服务器,用于运行 FastAPI 项目 |
三、核心概念:用通俗的语言解释关键知识
我们来通过一个最简单的例子讲解 FastAPI 的几个核心知识点。
示例:Hello World 接口
新建一个文件:main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, World!"}
保存后,在终端执行以下命令启动服务:
uvicorn main:app --reload
你会看到页面显示:
{
"message": "Hello, World!"
}
恭喜,你已经成功写出你的第一个 FastAPI 接口啦!
关键概念解析
1. 路由(@app.get("/"))
- 类似于网站上的“导航栏”
@app.get("/users")表示当用户访问/users这个路径时,就调用后面这个函数
2. 函数(def read_root():)
- 当某个路径被访问时,这个函数会执行
- 必须返回值,通常是 JSON 格式的数据
3. 启动命令 uvicorn main:app --reload
main: 是文件名(main.py)app: 是我们定义的 FastAPI 实例对象--reload: 自动重启(开发时很方便)
更多常见操作示例
示例1:带参数的 GET 请求
@app.get("/items/{item_id}")
def read_item(item_id: int):
return {"item_id": item_id}
访问地址:http://127.0.0.1:8000/items/5
输出结果:
{
"item_id": 5
}
注意:FastAPI 会自动将 URL 中的数字识别成
int类型
示例2:POST 接口提交数据
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
app = FastAPI()
@app.post("/items/")
def create_item(item: Item):
return {
"name": item.name,
"price": item.price
}
访问步骤:
- 打开 http://127.0.0.1:8000/docs
- 点击
/items/ POST接口 - 点击 “Try it out”
- 输入:
{ "name": "手机", "price": 2999.99 } - 点击 “Execute”
就能看到返回的数据啦!
四、实战项目:做一个学生信息管理系统
为了更好地理解 FastAPI 的使用,我们来一起完成一个简易的学生信息管理系统。
功能需求:
- 查看所有学生信息(GET)
- 添加学生信息(POST)
- 删除学生信息(DELETE)
步骤1:准备模型类
from fastapi import FastAPI
from pydantic import BaseModel
from typing import List
app = FastAPI()
# 学生模型
class Student(BaseModel):
id: int
name: str
age: int
步骤2:模拟数据库(内存中存储)
students_db = [
Student(id=1, name="张三", age=20),
Student(id=2, name="李四", age=22),
]
步骤3:查看所有学生(GET)
@app.get("/students/", response_model=List[Student])
def get_students():
return students_db
步骤4:添加学生(POST)
@app.post("/students/")
def add_student(student: Student):
students_db.append(student)
return {"message": "添加成功"}
步骤5:删除学生(DELETE)
@app.delete("/students/{student_id}")
def delete_student(student_id: int):
for student in students_db:
if student.id == student_id:
students_db.remove(student)
return {"message": "删除成功"}
return {"message": "未找到该学生"}
测试方法:
- 访问 Swagger 文档页面:http://127.0.0.1:8000/docs
- 尝试调用各个 API
- 刷新
/students/接口查看是否生效
这就是一个简单的后端小系统啦 ✅
五、常见问题解答(FAQ)
Q1:运行报错:“uvicorn not found” 怎么办?
A:确保你正确安装了 uvicorn,可以再次运行:
pip install uvicorn
Q2:启动时报错,“No module named 'fastapi'”?
A:说明没有安装 FastAPI,运行:
pip install fastapi
Q3:为什么需要 Pydantic 模型?
A:Pydantic 是 FastAPI 处理请求体的重要工具,它可以:
- 验证数据类型(如必须传整数)
- 自动生成请求结构文档
- 提升代码可读性和安全性
Q4:如何调试 FastAPI 代码?
A:有两个好办法:
- 使用
print()输出调试信息(虽然土,但有效) - 使用断点调试器(如 VS Code 的调试功能)
Q5:FastAPI 支持数据库吗?
A:当然支持!你可以结合 SQLAlchemy 或 Tortoise ORM 使用 MySQL、PostgreSQL、SQLite 等数据库。这部分内容超出了本教程范围,后续进阶课程会讲到。
六、学习建议:下一步怎么走?
恭喜你完成了 FastAPI 的入门学习!接下来推荐你按以下路径继续提升:
阶段1:巩固基础
- 继续练习更多的接口写法(PUT、PATCH、HEAD等)
- 学习状态码与错误处理
- 实现分页查询功能
- 学习路由分组(Router)
阶段2:连接数据库
- 学习使用 SQLAlchemy 或 Tortoise ORM
- 操作真实数据库(如 SQLite、MySQL)
- 实现数据库增删改查(CRUD)
阶段3:构建完整项目
- 开发博客系统、电商后台或笔记系统
- 添加用户登录认证(Token/JWT)
- 前后端分离 + 部署上线
推荐资源
- FastAPI 官方文档中文版
- B站搜索关键词:"FastAPI 教程"
- Python官方文档:https://docs.python.org/zh-cn/3/
结语
FastAPI 是进入 Python 后端开发的理想起点,它不仅简单易用,还具备现代化的功能特性。对于初学者来说,最重要的是动手写代码、不断实践。
不要怕出错,每一个 bug 都是你进步的机会。坚持下去,不久之后你也能独立做出完整的 Web 后端系统!
如有任何疑问,欢迎留言交流 😊

评论 0