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

你有没有想过,自己写一个网站或者小程序的时候,前端显示的内容是怎么从服务器拿到数据的?其实,这就是后端程序在帮忙。而今天我们介绍的 FastAPI,就是一个用来快速搭建后端服务的 Python 工具。
简单来说,你可以用 FastAPI:
- 把你的 Python 程序变成可以通过浏览器访问的服务
- 写一些“接口”(比如提供天气信息、用户登录功能等)
- 自动生成 API 文档(方便你自己测试,也能给别人看)
FastAPI 特别适合 Python 初学者使用,因为它简单易懂、文档友好,并且速度快,是现代 Web 开发中非常流行的一种技术。
环境准备:一步步搭建你的开发环境

步骤1:安装 Python
确保你的电脑已经安装了 Python 3.7 及以上版本。可以打开终端(或命令行)输入:
python --version
如果看到类似 Python 3.9.12 的信息,说明已经安装好了。如果没有安装,请去官网下载安装包:https://www.python.org/downloads/
步骤2:创建项目文件夹
新建一个空的文件夹,例如叫 my_fastapi_project,并进入这个目录。
步骤3:创建虚拟环境(推荐)
建议使用虚拟环境来隔离项目依赖。执行以下命令:
python -m venv venv
然后激活虚拟环境:
Windows:
venv\Scripts\activatemacOS / Linux:
source venv/bin/activate
激活成功后,命令行前会出现 (venv) 字样,表示你现在处于这个项目的独立环境中。
步骤4:安装 FastAPI 和 Uvicorn
Uvicorn 是运行 FastAPI 应用的工具。我们使用 pip 来安装它们:
pip install fastapi uvicorn
安装完成后就可以开始编写你的第一个 FastAPI 程序啦!
核心概念讲解:最简单的语言带你理解关键技术点
FastAPI 基于几个核心概念展开,下面我将一一解释这些概念,并配上代码示例。
1. 路由(Route)
路由就是告诉程序:“当用户访问某个 URL 时,我应该返回什么内容”。
例如:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "欢迎来到我的网站!"}
这段代码的意思是:当用户访问根地址 / 时,就调用 read_root() 函数,返回一个包含消息的字典。
💡 小贴士:函数名可以随便起,但习惯上我们会根据功能命名,比如 get_users, get_weather 等。
2. 请求方法(GET、POST)
常见的请求方式有:
@app.get(url):获取数据(比如查看文章列表)@app.post(url):提交数据(比如注册账号)
举个 POST 的例子:
@app.post("/hello")
def say_hello(name: str):
return {"message": f"你好,{name}!"}
当你用 Postman 或其他工具向 /hello 提交一个名字(如 "Tom"),就会返回 “你好,Tom!”
3. 参数处理:路径参数和查询参数
路径参数(Path Parameter)
路径参数是 URL 中的一部分,用于标识具体资源,例如:
@app.get("/items/{item_id}")
def read_item(item_id: int):
return {"item_id": item_id}
访问 /items/123,你会看到 { "item_id": 123 }
查询参数(Query Parameter)
查询参数是在 URL 后面跟着的一些可选参数,通常用于筛选或分页等。例如:
@app.get("/search")
def search(q: str, limit: int = 10):
return {"query": q, "limit": limit}
访问 /search?q=book&limit=5 会得到:
{
"query": "book",
"limit": 5
}
可以看到,查询参数可以带默认值(如上面的 limit=10)。
4. 返回 JSON 格式的数据
FastAPI 默认支持返回 JSON 数据格式,这也是前后端交互的标准格式。
你可以直接 return 字典结构的数据,框架会自动转成 JSON。例如:
return {
"id": 1,
"name": "小明",
"age": 20
}
实战项目:构建一个“打招呼”的API接口
接下来我们来做个小项目,实现一个 API 接口,可以接收用户的名字,然后返回一句问候语。
第一步:创建主文件
在你的项目文件夹中新建一个 Python 文件,比如叫 main.py。
第二步:编写代码
from fastapi import FastAPI
app = FastAPI()
@app.get("/greet")
def greet(name: str):
return {"message": f"你好,{name}!"}
第三步:启动服务
在终端中运行下面这条命令:
uvicorn main:app --reload
这时你会看到类似如下的输出:
INFO: Uvicorn running on http://127.0.0.1:8000
这说明你的服务已经跑起来了!
第四步:测试接口
打开浏览器,输入:
http://localhost:8000/greet?name=小张
你应该会看到这样的结果:
{"message": "你好,小张!"}
也可以点击这里查看自动生成的 API 文档页面:
http://localhost:8000/docs
你会看到一个交互式的界面,可以直接输入参数进行测试,非常方便!
常见问题解答(Q&A)
以下是新手常常遇到的问题,看看有没有你关心的:
Q1:为什么启动服务时报错说找不到模块?
A:请检查是否激活了虚拟环境,并确保你已经运行了 pip install fastapi uvicorn。
Q2:怎么把服务部署到网上让别人访问?
A:开发阶段我们一般用本地调试。如果你想发布,可以考虑部署到云平台,比如 Render、Heroku 或者阿里云服务器等。
Q3:FastAPI 支持数据库吗?
A:FastAPI 本身不直接操作数据库,但它可以很好地配合 SQLAlchemy、Tortoise ORM 等数据库框架一起使用。
Q4:为什么推荐用 Uvicorn 启动而不是普通 Python 命令?
A:因为 FastAPI 基于 ASGI 协议,需要专门的服务器来运行。Uvicorn 是一个高性能、异步友好的 ASGI 服务器,非常适合 FastAPI 使用。
学习建议:下一步学什么?
恭喜你完成了 FastAPI 的初体验!现在你可以尝试学习以下进阶内容:
1. 学习更多请求类型(PUT、DELETE)
继续扩展你的 API 功能,比如添加修改和删除数据的接口。
@app.put("/users/{user_id}") # 修改数据
@app.delete("/users/{user_id}") # 删除数据
2. 连接数据库(建议先学 SQLite)
学会如何将数据存到数据库里。可以从简单的 SQLite 开始,再逐渐了解 MySQL 或 PostgreSQL。
3. 认证与权限控制
比如添加登录机制、限制某些接口只能管理员访问。
4. 部署上线
学习使用 Nginx + Gunicorn 搭建生产环境,或者借助 Docker 打包部署你的应用。
5. 综合项目练习
试着做一个完整的小项目,例如:
- 个人博客后台系统
- 商品库存管理系统
- 待办事项管理器(To-do App)
小结
本教程为你介绍了 FastAPI 的基本概念和使用方法,包括环境搭建、路由定义、参数处理和实战项目演练。通过这些知识点,你可以轻松写出一个能被访问的 API 接口。
记住一句话:学编程最有效的方式就是多动手、多实践。
希望你能坚持敲代码、不断练习,早日成为一名出色的 Python 后端开发者!
如果你喜欢这篇文章,欢迎收藏+转发,也欢迎继续关注后续的《FastAPI进阶实战》课程。Happy Coding 🚀

评论 0