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

你有没有想过,像抖音、小红书或者淘宝这些网站的数据是怎么传送到手机上的?其实,它们背后都有一个叫“后端”的东西在默默工作。今天我们要学习的 FastAPI,就是一个帮你搭建后端服务的强大工具。
简单来说,FastAPI 是一个用 Python 编写的高性能 Web 框架,专门用来快速构建 API(应用程序编程接口)服务。你可以把它理解为是一个“数据快递员” —— 用户通过网页或 App 提交请求(比如登录、查看商品),FastAPI 接收到请求后,会调用服务器上相应的代码,处理数据,再把结果返回给用户。
FastAPI 的一大特点是它速度快,并且支持现代 Python 的新特性,比如自动文档生成和异步编程。它特别适合刚接触后端开发的新手,因为它的使用方式非常直观,而且有完善的文档和社区支持。
接下来,我们一步步开始我们的第一个 FastAPI 项目吧!
环境准备:搭建你的开发环境

在正式写代码之前,我们需要准备好一些基本的开发工具和运行环境。别担心,这个过程并不复杂,跟着下面的步骤来操作就可以了。
步骤1:安装 Python
确保你的电脑上已经安装了 Python 3.8 或以上版本。
你可以打开终端(Windows 上是命令行,Mac/Linux 是 Terminal),输入以下命令查看是否已安装:
python --version
如果你看到类似 Python 3.9.7 这样的输出,说明已经安装好了。如果没有,请前往 Python 官网 下载安装。
步骤2:创建虚拟环境(推荐)
为了不干扰其他项目的依赖,我们建议使用 Python 的虚拟环境。
创建一个新的文件夹并进入:
mkdir fastapi-tutorial
cd fastapi-tutorial
然后创建虚拟环境:
- Windows:
python -m venv venv
- Mac/Linux:
python3 -m venv venv
激活虚拟环境:
- Windows:
venv\Scripts\activate.bat
- Mac/Linux:
source venv/bin/activate
此时你应该能看到命令行前面多了一个 (venv) 的提示。
步骤3:安装 FastAPI 和 Uvicorn
我们使用 pip 来安装 FastAPI 和它的运行服务器 Uvicorn:
pip install fastapi uvicorn
⚠️ 小贴士:Uvicorn 是一个 ASGI 服务器,用来运行 FastAPI 程序,可以把它看作是让 FastAPI 跑起来的那个“发动机”。
验证安装
我们可以先写一个小 demo 来测试是否安装成功。
新建一个文件 main.py,内容如下:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, World!"}
然后在终端中运行:
uvicorn main:app --reload
打开浏览器访问 http://localhost:8000,你会看到页面显示:
{
"message": "Hello, World!"
}
恭喜你!你的第一个 FastAPI 应用跑起来了 ✅
核心概念讲解:通俗易懂地说说这些术语

刚开始学时,总会听到一些让人困惑的专业术语。我们不用着急背下来,先了解它们的作用就行。
1. API(Application Programming Interface)
API 是一组预定义的函数,相当于不同程序之间交流的桥梁。比如你在微信里查天气,其实是微信调用了某个天气服务的 API。
2. HTTP 请求方法(GET、POST)
HTTP 是网络上传输数据的标准协议。常见的两种请求方式:
GET:获取数据(比如访问主页)POST:提交数据(比如填写表单注册)
在 FastAPI 中,我们用装饰器来指定接口的请求方式:
@app.get("/items") # GET 请求
@app.post("/create") # POST 请求
3. 路由(Route)
路由就是 URL 的路径。比如 /login、/users/list 都属于不同的路由地址。FastAPI 会根据不同的路由调用对应的函数。
4. 异步(async/await)
这是 FastAPI 高性能的一个秘密武器。不过对于新手来说,你现在只需要知道加上 async def 关键字可以让函数更高效地处理请求。例如:
@app.get("/data")
async def get_data():
return {"status": "success"}
后面我们会用到它。
实战项目:做一个简单的“留言墙”接口
现在我们来动手完成一个简单的项目 —— 创建一个“留言墙”的 API 接口,实现以下功能:
- 查看所有留言(GET)
- 添加一条留言(POST)
第一步:创建基础结构
我们在 fastapi-tutorial 文件夹下创建一个新的文件 messages.py,写入以下内容:
from fastapi import FastAPI
from typing import List
app = FastAPI()
# 模拟数据库
messages_db = []
# 获取所有留言
@app.get("/messages", response_model=List[str])
def get_messages():
return messages_db
# 添加留言
@app.post("/messages")
def add_message(msg: str):
messages_db.append(msg)
return {"status": "Message added"}
⚠️ 注意:
response_model=List[str]表示返回的数据类型是字符串列表。FastAPI 会自动进行验证和格式化输出。
第二步:运行服务
在终端中执行:
uvicorn messages:app --reload
服务启动后,打开 http://localhost:8000/docs,你会看到 FastAPI 自动为我们生成了一套交互式接口文档 🤩
点击 /messages 下面的 “Try it out”,然后在 “msg” 输入框中填入你想添加的内容,点击 “Execute”。再回到 /messages 接口,看看是否能获取刚刚添加的内容。
第三步:查看效果
- 访问 http://localhost:8000/messages 可以看到当前所有的留言。
- 使用 Postman 或者直接在浏览器的开发者工具中向
/messages发送 POST 请求也可以添加内容。
这样,一个简单的留言功能就完成了!
常见问题解答
很多新手在学习过程中会遇到各种各样的问题,这里列出几个最常被问到的:
问题1:为什么我的代码报错了,说“找不到模块”?
可能是你没有正确安装依赖包。确认一下是否安装了 fastapi 和 uvicorn:
pip install fastapi uvicorn
还可以尝试升级 pip:
python -m pip install --upgrade pip
问题2:我的代码改了但没有生效?
这是因为 --reload 参数只在开发环境下有效,且需要文件保存才会触发热重载。请确保你已经保存了 .py 文件,并检查命令是否包含 --reload。
问题3:访问 http://localhost:8000 出现 404?
这说明你可能没有正确设置路由。检查你的 @app.get("/") 函数是否存在,或者路径是否拼写错误。
学习建议:下一步要怎么走?
恭喜你完成了第一个 FastAPI 应用!这只是一个开始,后端世界还有很多精彩的内容等着你探索:
继续学习的方向:
- 数据库连接:学会如何与 MySQL、PostgreSQL、MongoDB 等数据库对接。
- 身份验证:学习 JWT、OAuth2 等用户权限控制机制。
- 部署上线:将你的服务部署到云服务器(如阿里云、AWS)。
- 单元测试:为你的接口编写测试用例,提高代码稳定性。
- 异步编程进阶:掌握 asyncio、await、并发请求等高级特性。
- RESTful 设计规范:写出更标准、易于维护的接口。

推荐学习资源:
- FastAPI官方文档
- 《Python自动化办公》—— 对零基础友好的 Python 教程
- B站搜索关键词“FastAPI 入门教程”
- GitHub 上搜“fastapi example”看看别人是怎么写的
总结
本教程从安装环境、解释概念到实战开发,带你一步步入门 FastAPI 开发。尽管它是轻量级的框架,但功能强大、效率高,非常适合初学者起步。
记住一句话:“学编程最好的办法就是不断敲代码。”不要怕犯错,每一个 bug 都是你成长的机会。
祝你在编程之路上越走越远!🚀

评论 0