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

你可能听说过“后端”这个词,简单来说,后端就是网站或者APP在后台运行的那一部分。它负责处理用户请求、管理数据,并与数据库等进行交互。
那什么是FastAPI呢?
FastAPI 是一个现代的、快速(高性能)的 Python Web 框架,专门用于构建 API(应用程序编程接口)。你可以把它理解为一个“工具包”,帮助你用 Python 快速写出能被 APP 或网页调用的“接口服务”。
比如,当你在某个 APP 上搜索商品时,它背后其实是在调用一个“搜索接口”,而这个接口很可能就是用 FastAPI 编写的。
为什么选择 FastAPI?
- 快:它是目前最快的 Python Web 框架之一
- 易用:代码写法简洁,容易上手
- 自动生成文档:编写完接口,会自动帮你生成漂亮的接口文档
- 支持异步:能处理大量并发请求,适合高并发场景
本教程将带你从零开始,一步步掌握 FastAPI 的使用!
环境准备:搭建你的开发环境

要开始使用 FastAPI,我们需要先安装一些必要的软件和库。别担心,步骤都挺简单的。
步骤一:安装 Python
首先确保你的电脑上有 Python 3.8 及以上版本。
在命令行中输入:
python --version
如果你看到类似下面的输出:
Python 3.10.4
说明已经安装好了。如果没有,请去 https://www.python.org/downloads/ 下载最新版 Python 安装即可。
步骤二:安装 FastAPI 和 Uvicorn
FastAPI 本身只是一个库,我们需要另一个叫做 Uvicorn 的服务器来运行我们的程序。
在命令行中执行以下命令进行安装:
pip install fastapi uvicorn
💡 小提示:pip 是 Python 自带的一个包管理器,用来下载和安装各种 Python 工具。
步骤三:安装编辑器(推荐 VS Code)
虽然你可以用任何文本编辑器写代码,但推荐你使用 Visual Studio Code (VS Code),因为它免费且功能强大,适合初学者。
你可以在这里下载并安装:https://code.visualstudio.com/
核心概念:通俗讲解 FastAPI 的关键知识点

现在我们来看看 FastAPI 中几个最基础、也是最重要的概念。
1. 创建一个 FastAPI 应用实例
这就像创建了一个“空项目”,你可以往里面添加各种功能。
示例代码:
from fastapi import FastAPI
app = FastAPI()
这段代码做了什么呢?
from fastapi import FastAPI:导入 FastAPI 这个类(可以理解为工具)app = FastAPI():创建一个应用对象,后续的功能都会围绕它展开
2. 编写第一个接口 — GET 请求
GET 请求通常是用来获取信息的,比如获取天气、新闻内容等。
示例代码:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def hello():
return {"message": "Hello, FastAPI!"}
解释一下:
@app.get("/"):这是一个“装饰器”,表示当用户访问根路径/时,就调用下面的函数。def hello()::定义一个函数,返回一个 JSON 数据。
保存上面这段代码到一个文件中,比如叫 main.py。
然后在终端中运行:
uvicorn main:app --reload
main是你的文件名(不带 .py)app是你在代码中定义的应用对象--reload表示热加载,意思是修改了代码会自动重启服务
运行后你会看到类似这样的信息:
INFO: Uvicorn running on http://127.0.0.1:8000
这时候你打开浏览器,访问 http://127.0.0.1:8000,就能看到:
{"message": "Hello, FastAPI!"}
🎉 成功啦!
3. 接口参数传递方式
常见的两种传参方式是:
- 查询参数(Query Parameters)
- 路径参数(Path Parameters)
查询参数示例:
@app.get("/search")
def search(q: str):
return {"query": q}
访问:http://localhost:8000/search?q=fastapi
结果:
{"query": "fastapi"}
路径参数示例:
@app.get("/users/{user_id}")
def get_user(user_id: int):
return {"user_id": user_id}
访问:http://localhost:8000/users/123
结果:
{"user_id": 123}
可以看到:
- 查询参数用的是
?key=value的形式 - 路径参数直接嵌入 URL 路径里,适合 ID 类型的数据
4. POST 请求(发送数据)
GET 通常用于获取信息,POST 则常用于提交数据,比如注册、登录等操作。
示例代码:
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
@app.post("/items/")
def create_item(item: Item):
return {"item_name": item.name, "price": item.price}
这里引入了一个新概念:pydantic 的 BaseModel,它可以帮我们做数据校验。你只需要告诉它每个字段是什么类型,它就会自动判断输入是否合法。
访问接口时可以用 POST 请求发送如下 JSON:
{
"name": "Apple",
"price": 5.99
}
返回结果是:
{
"item_name": "Apple",
"price": 5.99
}
💡 提示:你可以用 Postman 或者浏览器自带的 Dev Tools 来测试 POST 请求。
实战项目:做一个简单的天气查询接口


接下来我们来做一个小项目——天气查询接口。用户可以通过接口查某城市的天气。
第一步:创建项目结构
新建一个文件夹,如 weather_api,在里面创建一个 main.py 文件。
第二步:编写接口逻辑
我们不真正去联网查天气,为了简单起见,我们自己模拟一个假数据。
from fastapi import FastAPI
from typing import Optional
app = FastAPI()
# 模拟数据
weather_data = {
"北京": "晴",
"上海": "多云",
"广州": "雷阵雨",
"深圳": "晴"
}
@app.get("/weather/{city}")
def get_weather(city: str):
weather = weather_data.get(city)
if weather:
return {"city": city, "weather": weather}
else:
return {"error": "城市未收录"}
第三步:运行服务并测试接口
进入项目文件夹,在终端执行:
uvicorn main:app --reload
然后访问 http://127.0.0.1:8000/weather/北京,你应该会看到:
{"city": "北京", "weather": "晴"}
如果访问一个不存在的城市,如 http://127.0.0.1:8000/weather/成都,则返回:
{"error": "城市未收录"}
✅ 至此,一个完整的 FastAPI 项目就完成了!
常见问题解答
Q1:运行 uvicorn 报错说模块找不到怎么办?
错误信息可能是:
ModuleNotFoundError: No module named 'fastapi'
说明没有安装相关模块。请按顺序安装:
pip install fastapi uvicorn
Q2:为什么用 async def 写函数?是不是必须的?
不是必须的,除非你要使用异步功能。对于新手,同步写法更容易理解,建议一开始用同步风格。
Q3:为什么我的接口访问不到?
检查以下几点:
- 是否运行了服务?
- URL 地址有没有拼错?
- 端口号默认是 8000,如果有更改请注意
- 使用浏览器访问时注意不要加 https
Q4:怎么查看接口文档?
FastAPI 会自动帮你生成接口文档,访问下面两个链接之一即可:
- Swagger UI(更友好):
http://localhost:8000/docs - ReDoc(另一种样式):
http://localhost:8000/redoc
Q5:能不能一次返回多个数据?
当然可以!只要把数据包装成字典或列表就行:
return [{"name": "Alice"}, {"name": "Bob"}]
学习建议:下一步该学什么?
恭喜你完成了第一门课!现在你可以考虑以下几个方向继续深入:
✅ 推荐学习路线
- 学习连接数据库(例如 SQLite、MySQL)
- 学会用 SQLAlchemy 操作数据库
- 学习身份验证机制
- JWT、OAuth2、Token 认证
- 进阶:使用异步请求
- 学会
async def函数
- 学会
- 部署你的 API
- 使用 Nginx + Gunicorn + Docker 部署上线
- 结合前端开发
- 用 Vue / React 调用你写的 API
📚 推荐学习资源
- FastAPI 官方文档中文版
- Python 编程:从入门到实践(书籍)
- B站视频搜索:“FastAPI 教程”
- 推荐练习平台:[LeetCode API 相关题目]、[Codewars]
结语

FastAPI 是一个非常现代化又友好的后端框架,非常适合想入门 Python 后端开发的新手。只要你坚持动手练习,很快就能上手写出属于自己的 API 接口。
记住一句话:代码是最好的老师。不断写、不断改、不断试,你终将成为一名优秀的开发者!
🎉 祝你编程之旅愉快!

评论 0