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

你可能听说过“网站后台”、“接口”、“API”这些词,但它们到底是什么,又和你有什么关系呢?别急,我们来一步步讲解。
FastAPI 是一个使用 Python 编写的 Web 框架。简单来说,它可以帮助你快速构建一个可以接收网络请求、处理数据,并返回结果的程序。
举个通俗的例子:
想象你开了一个披萨店,顾客打电话下单(发送请求),你记录订单并安排制作(处理请求),最后把披萨送到顾客家(返回结果)。
而在互联网的世界里,你的“电话号码”就是 API 地址,而整个送披萨的过程,就是一个 API 接口在工作的过程。
FastAPI 就像帮你开店的那个工具包,让你能快速搭建起这个点餐系统。
环境准备:搭建你的第一个FastAPI开发环境

本节我们一步步来安装和配置好开发所需的软件环境。
第一步:安装Python
FastAPI是基于Python的框架,所以首先你需要确保电脑上已经安装了Python。
✅ 检查是否已安装Python:
打开终端或命令行,输入以下命令:
python --version
如果看到类似 Python 3.9.1 这样的信息,说明你已经安装好了。
如果没有,请前往官网下载安装:https://www.python.org/(选择适合自己系统的版本)
第二步:创建虚拟环境(建议这么做)
为了防止项目之间发生冲突,我们一般会为每个项目单独建立一个“小房间”,也就是所谓的“虚拟环境”。
运行以下命令创建一个新环境:
python -m venv my_fastapi_env
然后激活它:
Windows:
my_fastapi_env\Scripts\activate.batmacOS/Linux:
source my_fastapi_env/bin/activate
第三步:安装FastAPI和Uvicorn
现在我们安装FastAPI以及它的开发服务器 Uvicorn:
pip install fastapi uvicorn
🎉 到这一步,我们的开发环境就搭建好了!
核心概念:理解FastAPI的关键术语

学习一门新技术之前,先了解几个关键名词,这样后面代码出现时你就不会一脸懵。
1. API(Application Programming Interface)
API 是应用程序之间的“对话方式”。你可以把它想成是一份菜单,别人按这份菜单来点菜,你就能给他做对应的菜。
比如有一个 /add 的 API 地址,别人只要传两个数字给你,你就可以返回这两个数的和。
2. 路由(Route)
路由就像网页上的地址。你可以设置多个不同的地址来完成不同的任务。
例如:
/hello表示访问打招呼接口/login表示登录接口
3. 请求方法(Method)
每当你通过浏览器或者手机 App 发送请求,实际上是在使用某种“动作”。最常用的几种如下:
| 方法 | 用途 |
|---|---|
| GET | 获取数据 |
| POST | 提交数据 |
| PUT | 更新数据 |
| DELETE | 删除数据 |
我们会在实战中看到如何使用这些方法。
实战项目:从零开始搭建一个简单的天气查询API
现在我们来做一个超简单的天气查询接口,目标是访问 /weather/beijing 时返回北京的天气信息。
步骤一:新建一个文件
在你喜欢的位置新建一个名为 main.py 的文件。
步骤二:编写基础代码
复制下面这段代码到 main.py 中:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "欢迎来到我的API!"}
@app.get("/weather/{city}")
def get_weather(city: str):
# 假装查询数据库或第三方服务
weather_data = {
"beijing": "晴天",
"shanghai": "多云",
"guangzhou": "下雨"
}
if city in weather_data:
return {"city": city, "weather": weather_data[city]}
else:
return {"error": "不支持的城市"}
步骤三:启动服务

在命令行中运行:
uvicorn main:app --reload
你会看到类似于以下输出:
INFO: Uvicorn running on http://127.0.0.1:8000
现在浏览器中打开 http://127.0.0.1:8000/weather/beijing
你应该能看到返回的天气数据!
📌 代码解释:
app = FastAPI()创建了一个FastAPI应用。@app.get("/")定义了一个GET请求的路径/。def get_weather(city: str):函数用于处理用户传入的city参数。- 使用字典模拟了“天气数据”的查询。
常见问题:新手最容易遇到的问题解答
如果你在操作过程中遇到了问题,不要慌,这些问题很多人都经历过。
❓Q1:提示找不到模块怎么办?
错误信息如:ModuleNotFoundError: No module named 'fastapi'
💡 解答: 可能是你没有安装 FastAPI。请确认你在正确的环境中运行命令:
pip install fastapi uvicorn
❓Q2:启动后无法访问网页
比如浏览器打不开 http://127.0.0.1:8000
💡 解答:
- 看看终端有没有报错信息
- 确保你没有同时运行多个程序占用了8000端口
- 尝试重启终端再运行一次
❓Q3:我想加POST接口怎么做?
比如提交用户登录信息?
💡 解答: 我们可以修改上面的代码,加上一个 POST 示例:
@app.post("/login")
def login(username: str, password: str):
return {
"username": username,
"status": "登录成功"
}
然后在浏览器访问 http://127.0.0.1:8000/docs,你会看到一个自动生成的文档界面,可以用来测试接口!
学习建议:接下来你可以学什么?

恭喜你完成了第一个FastAPI项目的搭建!这是非常重要的第一步。接下来你可以尝试以下几个方向继续深入学习:
✅ 继续学习路线推荐:
数据库交互
- 学习使用 SQLAlchemy 或 Tortoise ORM 连接数据库
- 可以尝试创建用户注册、登录等完整功能
接口安全认证
- 如何使用 JWT 生成令牌,保护你的 API 不被随便调用
- 如何验证用户身份
部署上线
- 学习如何将你的项目发布到服务器,让全世界都能访问
- 推荐工具:Gunicorn、Nginx、Docker
自动化测试
- 学习使用 Pytest 编写自动化测试脚本
- 确保每次修改都不会出错
总结:你已经迈出了成为后端工程师的第一步!
在这篇文章中,我们一起:
- 了解了什么是 FastAPI
- 搭建了开发环境
- 掌握了基本的 API 写法
- 成功运行了自己的第一个 Web 服务
- 遇到了常见问题也知道怎么解决
后端开发并不神秘,只要你肯动手写代码,就会发现它其实很有趣。
接下来的路还很长,不过别担心,一步一步来,相信你很快就能做出自己的“披萨店系统”!
🎯 下一步目标:试着扩展今天写的天气API,比如让它支持更多城市,或添加用户反馈功能,看看你能写出什么样的玩法!
如果你喜欢这种教学风格,欢迎继续关注后续更高级的课程内容哦 😊

评论 0