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

你是不是也经常听到“后端”、“接口”、“服务器”这些词,但总感觉它们离你很遥远?今天,我们就要带你走进后端开发的世界,从零开始,一起学习一个叫做 FastAPI 的工具。
FastAPI 是一个用于创建 API(Application Programming Interface)的 Python 框架。你可以把它理解成一个“小电脑”,这个小电脑可以接收请求、处理数据,并返回结果给其他程序或网页。
举个例子:
当你用手机App查询天气时,其实App并没有自己去查天气,而是向某个“后台服务器”发送了请求,服务器会告诉它今天的天气。这个后台就是用类似 FastAPI 这样的工具写的。
👉 FastAPI 的优点是:
- 学习简单
- 性能好(比很多其他框架快)
- 自带文档界面,非常友好
所以,如果你是一个刚接触编程的新手,又想尝试做网站或者 App 的后端服务,那么 FastAPI 就是一个非常好的选择!
环境准备:搭建你的第一个 FastAPI 工作环境

在写代码之前,我们先来准备好环境。
✅ 所需工具清单:
- Python 3.8 或更高版本
- pip(Python 的包管理器)
- 一个代码编辑器(比如 VS Code)
💡 如果你还没装 Python,可以去 Python 官网 下载安装包。安装过程中记得勾选 “Add to PATH”。
Step 1:安装 FastAPI 和 Uvicorn
Uvicorn 是运行 FastAPI 应用的服务器,我们需要同时安装它。
打开终端(Windows 上是命令行 CMD / PowerShell,Mac/Linux 是 Terminal),输入以下命令:
pip install fastapi uvicorn
等一会儿,看到 “Successfully installed” 表示安装成功。
Step 2:检查是否安装成功
运行下面的命令查看版本号:
fastapi --version
uvicorn --version
如果能看到 FastAPI 和 Uvicorn 的版本信息,就说明安装成功啦!
Step 3:用 VS Code 编写代码
你可以使用任何文本编辑器来写代码,但推荐使用 Visual Studio Code(简称 VS Code),它是免费、功能强大且适合初学者的编辑器。
下载地址:https://code.visualstudio.com/
安装完成后,我们就可以开始写代码啦!
核心概念:让你不再懵懂的五个关键词

刚开始学习一个新东西,肯定会遇到很多专业术语。不要怕,我们一个个来看。
🔹 什么是 API?
API 其实就是一个接口。就像你和朋友说话一样,你在问问题(发送请求),朋友回答你(返回数据)。API 也是这样工作的。
举个例子:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def say_hello():
return {"message": "你好!"}
这段代码定义了一个最简单的 API 接口。访问根路径 /,就会收到一条问候语。
🔹 什么是路由(Route)?
路由其实就是 URL 路径。
比如:
GET /是首页GET /about是关于页面POST /login是登录页面
FastAPI 通过装饰器的方式定义路由:
@app.get("/about")
def about_page():
return {"content": "这是一个关于页面"}
访问 http://localhost:8000/about,就能看到这条内容。
🔹 GET 和 POST 请求有什么区别?
这两个是最常见的请求方式:
| 方法 | 使用场景 | 是否安全 |
|---|---|---|
| GET | 获取数据(如查天气) | ✅ 安全 |
| POST | 提交数据(如登录、注册) | ❌ 不安全 |
FastAPI 中分别用 @app.get() 和 @app.post() 来处理:
@app.post("/login")
def login_user(username: str, password: str):
return {"username": username, "status": "已登录"}
🔹 什么是自动文档?
FastAPI 非常贴心,它会自动生成两个文档页面:
- Swagger UI:
http://localhost:8000/docs - ReDoc:
http://localhost:8000/redoc
你可以在这些页面上直接测试自己的接口!
🔹 什么是异步编程?
别被这个词吓到。异步的意思就是说:你可以一边煮饭,一边听歌,互不干扰。FastAPI 支持异步操作,性能更强。
比如你可以写一个异步函数:
@app.get("/async")
async def async_example():
return {"status": "异步调用成功"}
实战项目:做个天气查询接口吧!
现在我们来做个小项目:实现一个“天气查询”的接口。
🛠️ 第一步:创建主程序文件
新建一个文件夹,比如叫 weather_api,在里面创建一个名为 main.py 的文件,然后输入下面的代码:
from fastapi import FastAPI
app = FastAPI()
# 假设这是天气数据
weather_data = {
"北京": "晴",
"上海": "多云",
"广州": "阵雨",
"深圳": "雷雨"
}
@app.get("/weather/{city}")
def get_weather(city: str):
if city in weather_data:
return {"city": city, "weather": weather_data[city]}
else:
return {"error": "没有该城市的天气信息"}
🚀 第二步:运行你的应用
在终端中执行:
uvicorn main:app --reload
你会看到一大段输出,最后会出现一句:
Running on http://127.0.0.1:8000/
表示服务已经启动啦!
📡️ 第三步:访问接口试试看
浏览器中打开:
http://localhost:8000/weather/北京
你会看到这样的返回:
{"city": "北京", "weather": "晴"}
如果你想看看其他城市,把“北京”换成别的城市名试试!
你也可以去文档页面 http://localhost:8000/docs 点击测试按钮。
常见问题解答

有些问题是你可能会遇到的,我们提前帮你解决掉👇
❓Q1:运行的时候提示“No module named 'fastapi'”
➡️ 解决办法:说明你还没有安装 FastAPI,请回到前面的“安装步骤”,重新执行安装命令。
❓Q2:修改了代码,为什么没生效?
➡️ 解答:因为默认情况下,FastAPI 并不会自动重启。加了参数 --reload 后,它才会监听变化并自动重启。
确保你是这样运行的:
uvicorn main:app --reload
❓Q3:我怎么知道接口有没有错误?
➡️ 建议:
- 看终端有没有报错信息
- 使用内置文档页面进行测试
- 用 Postman 工具模拟请求
❓Q4:如何退出正在运行的服务器?
➡️ 在终端里按 Ctrl + C 就可以停止当前的服务。
学习建议:下一步你能学什么?
你现在已经有了基本的 FastAPI 使用经验。接下来你可以继续深入以下几个方向:
✅ 数据库操作(可选)
你可以学会连接数据库,比如 SQLite、MySQL,从而存储用户数据、商品信息等。
推荐模块:
- SQLAlchemy(Python 的 ORM 工具)
- Alembic(数据库迁移工具)
✅ 用户认证 & Token 登录
学会了基本接口之后,可以加上权限控制,比如:
- 登录后才能访问某些接口
- 拿到 Token 再访问特定资源
常用模块:OAuth2, JWT
✅ 部署上线(进阶)
当你做出一个完整项目后,可以考虑部署到真实服务器上,让别人也能访问你的网站。
常用的部署方式有:
- 使用 Nginx + Gunicorn
- 部署到 Vercel、Render、Heroku、阿里云等平台
✅ 更深入地了解异步编程
FastAPI 支持异步请求,可以提高并发能力。你可以学习 async def、await、aiohttp 等相关知识。
结束语
恭喜你完成了 FastAPI 的第一课!
你现在不仅知道什么是 API,还能写出一个真正的接口,甚至还可以让它支持文档和测试!
记住一句话:“编程不是一蹴而就的事,但每天进步一点点,你就是未来的高手。”
如果你喜欢这篇文章,欢迎分享给朋友;如果你有任何问题,也欢迎留言讨论 😊
🎉 你的第一个 FastAPI 接口,已经跑起来了!下一次,我们将一起探索更酷的功能!

评论 0