FastAPI入门:Python后端开发新手指南
开篇:FastAPI 是什么?用来做什么?

你好!欢迎来到 FastAPI 的世界。如果你是刚刚开始学习编程,或者是想从 Python 前端或数据分析转向后端开发,那么恭喜你,选对了工具!
FastAPI 是一个用于构建 Web API 的现代、快速(高性能)的 Python 框架,它适合用来做数据接口服务、前后端分离项目的后台服务等。
通俗来说,你可以把它理解为“帮你把 Python 程序放到网络上,让人可以远程调用它”的工具。
环境准备:搭建你的第一个 FastAPI 开发环境

我们先来安装所需的工具。假设你已经安装了 Python 3.8 及以上版本(如果没有,请到 Python官网 下载并安装)。
第一步:创建项目文件夹
打开终端(Mac/Linux)或者命令行(Windows),输入以下命令:
mkdir fastapi_tutorial
cd fastapi_tutorial
第二步:安装 FastAPI 和 Uvicorn
Uvicorn 是运行 FastAPI 应用的服务器工具。
pip install fastapi uvicorn
核心概念:最简单方式讲懂 FastAPI 的几个关键词


在写代码之前,先理解几个基本概念,这样你会更清楚你在干什么。
| 概念 | 类比 | 作用 |
|---|---|---|
| API 接口 | 一个开关 | 通过 URL 触发某个功能 |
路由路径 /hello |
家里的门牌号 | 决定哪个函数被访问 |
| GET 请求 | 看网页 | 获取数据 |
| POST 请求 | 提交表单 | 发送数据给服务器 |
实战项目:跟着我写一个 Hello World 接口

让我们动手写一个最简单的 FastAPI 应用!
第三步:创建你的第一个 FastAPI 文件
在 fastapi_tutorial 文件夹中新建一个文件叫 main.py,内容如下:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, World!"}
@app.get("/items/{item_id}")
def read_item(item_id: int):
return {"item_id": item_id}
这段代码定义了两个接口:
- 主页
/,返回一句话:"Hello, World!" - 接口
/items/123,接受一个 ID,比如 123,然后返回这个 ID
第四步:启动服务器
回到终端,运行:
uvicorn main:app --reload
输出类似这样表示成功了:
INFO: Uvicorn running on http://127.0.0.1:8000
第五步:测试接口
打开浏览器,访问:
http://localhost:8000/—— 显示{"message": "Hello, World!"}http://localhost:8000/items/5—— 显示{"item_id": 5}
🎉 恭喜你,第一个 API 已经完成了!
更进一步:加点参数和请求方法
上面只是做了最基础的例子。现在我们来做一个接收用户输入的小例子。
新增一个 POST 接口(发送数据)
修改 main.py,加上:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
@app.post("/items/")
def create_item(item: Item):
return {"name": item.name, "price": item.price}
重启服务器:
uvicorn main:app --reload
访问:http://localhost:8000/docs
这是 FastAPI 自带的交互式文档,点击 /items/ → “Try it out” → 输入 JSON 数据测试:
{
"name": "Apple",
"price": 6.99
}
你会看到服务器返回相同的数据。这就是一个标准的 POST 请求处理流程。
常见问题:新手容易遇到的问题及解答
Q1:找不到模块怎么办?如报错 ModuleNotFoundError: No module named 'fastapi'
答: 那说明你还没有安装 FastAPI,用以下命令安装:
pip install fastapi uvicorn
如果仍然出错,尝试升级 pip:
python -m pip install --upgrade pip
Q2:为什么不能直接用 python main.py 来启动服务?
答: 因为 FastAPI 是异步框架,需要用 ASGI 服务器来运行,比如我们用的 uvicorn。
正确启动方式:
uvicorn main:app --reload
Q3:为什么访问 /items/abc 报错了?
答: 因为我们定义的 /items/{item_id} 接受的是整数类型 int,而输入了 abc 这个字符串,系统自动识别为非法输入。
FastAPI 会自动进行参数校验并返回错误信息,非常智能!
学习建议:下一步怎么学更快更稳?

学会 FastAPI 的第一步之后,你可以继续深入这些方向:
初级目标:
- 使用数据库(推荐 SQLite)
- 学习 Pydantic 模型定义
- 编写用户登录验证逻辑
中级阶段:
- 加入 Swagger 文档美化
- 处理文件上传下载
- 集成 JWT 用户认证
- 使用 ORM 工具(如 SQLAlchemy 或 Tortoise ORM)
高阶路线:
- 部署项目到服务器(如 Nginx + Gunicorn/Uvicorn)
- 性能优化和缓存策略
- 测试自动化(使用 pytest)
- 微服务架构与异步任务队列
结语:坚持就是进步的关键!
你已经完成了 FastAPI 的第一个项目,了解了它的基本结构和使用方法。接下来,试着自己创造一个小功能,比如:
创建一个天气查询接口,接收城市名,返回温度和状态
只要每天敲点代码,你也能成为后端小能手!
如有问题,欢迎留言提问 👋
Happy Coding!💻✨

评论 0