FastAPI入门:Python后端开发新手指南

产品和代码之间
2025-06-29 19:48
阅读 4323

开篇:什么是FastAPI,能做什么?

开篇:什么是FastAPI,能做什么?

你是不是听说过“后端”这个词?但对它到底是什么还一头雾水?没关系。今天我们要学习的 FastAPI,就是帮助你快速上手后端开发的一个超级工具。

简单来说,后端就是程序中负责处理数据、逻辑运算和提供功能的部分。而 FastAPI 是一个基于 Python 的高性能 Web 框架,特别适合用来开发 API(Application Programming Interface)——可以理解为一种让不同程序之间对话的方式。

比如你用微信订外卖时,背后其实有很多“接口”在运作:你输入地址之后,微信是怎么知道附近的餐厅有哪些?它是通过调用后台的某个接口来获取这些信息的。

FastAPI 就可以帮助我们开发这样的接口,而且它:

  • 速度很快,接近 Go 和 Node.js 的性能;
  • 支持自动生成文档(是的!写完代码就能看到网页版接口说明);
  • 使用 Python 类型提示,更容易写出清晰、可靠的代码;
  • 完全支持异步编程(这是高级话题,先记住它很有用就行);

现在就让我们从零开始,一步步搭建自己的第一个 FastAPI 应用吧!


环境准备:安装与配置

环境准备:安装与配置

第一步:安装 Python

确保你的电脑已经安装了 Python。建议版本 >= 3.7。

如何检查?打开命令行,输入:

python --version

如果你看到类似 Python 3.10.x 的输出,说明没问题。否则,请前往 Python官网下载安装。

第二步:创建虚拟环境(推荐)

为了不污染全局的 Python 环境,我们推荐使用 虚拟环境(virtual environment)。运行以下命令:

python -m venv myenv

然后激活它:

  • Windows 上:
myenv\Scripts\activate
  • macOS/Linux 上:
source myenv/bin/activate

你会看到终端前缀变成了 (myenv),表示当前在虚拟环境中。

第三步:安装 FastAPI 和 Uvicorn

FastAPI 本体并不直接启动服务器,所以我们还需要一个叫 Uvicorn 的服务引擎。

安装命令如下:

pip install fastapi uvicorn

安装完成后,可以用这个命令测试是否成功:

uvicorn --version

如果你看到了版本号,那就说明一切正常!


核心概念:通俗讲解几个关键点

核心概念:通俗讲解几个关键点

现在我们来认识一些 FastAPI 中最核心的概念。别担心,我会用最简单的语言解释它们。

1. 什么是 API?

想象你跟一个人说话,你们之间要约定好说什么话才能互相听得懂。
在程序里也是一样,两个系统通信也需要“说同样的话”,这种“说的话”就叫做 API。

比如你写了一个查询天气的功能,别人就可以通过调用你提供的 API 来获得天气信息。

2. 什么是 Endpoint(接口地址)?

接口地址就好比是 API 的“电话号码”。你可以访问某个特定的 URL 路径来请求数据。

比如:

http://localhost:8000/hello

这就是一个 endpoint,它会返回“你好”的信息。

3. 什么是路径操作函数(Route Function)?

在 FastAPI 中,我们用函数来定义每个 endpoint 的行为。比如你可以写这样一个函数:

@app.get("/hello")
def say_hello():
    return {"message": "你好"}

这段代码的意思是:当用户访问 /hello 这个路径时,执行 say_hello() 函数,并返回 JSON 数据 {"message": "你好"}。

4. 请求方式:GET vs POST

常见的请求方式有两个:

  • GET:用于读取数据,比如搜索一篇文章。
  • POST:用于提交或创建数据,比如注册账号时发送姓名密码。

FastAPI 提供了对应的装饰器来区分:

@app.get("/")
def read_root():
    return {"message": "这是首页"}

@app.post("/submit")
def submit_data():
    return {"status": "已提交"}

实战项目:做一个“问候机器人”接口

接下来,我们将完成一个非常简单的实战项目:创建一个能够根据名字打招呼的 API 接口。

第一步:新建一个 Python 文件

例如命名为 main.py,内容如下:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "欢迎使用我的问候机器人!"}

@app.get("/greet/{name}")
def greet(name: str):
    return {"message": f"你好,{name}!"}

这段代码做了两件事:

  • 当访问根目录 /,返回欢迎语;
  • 当访问 /greet/小明,就会输出:“你好,小明!”。

第二步:启动服务

在命令行中运行下面的命令:

uvicorn main:app --reload

这时你应该会看到类似如下的输出:

INFO:     Uvicorn running on http://127.0.0.1:8000

现在你的 API 已经跑起来了!

第三步:测试一下接口

打开浏览器,访问:

http://localhost:8000/greet/李华

你会看到:

{
  "message": "你好,李华!"
}

第四步:查看自动生成的 API 文档

FastAPI 强大的一点是:它可以自动生成接口文档。

访问:

http://localhost:8000/docs

你会进入一个交互式的 API 测试页面,你可以直接在这里测试各个接口!


常见问题:新手容易遇到的问题解答

数据流转过程-1

Q1:为什么运行 uvicorn 时报错找不到模块?

A1:可能没有激活虚拟环境或者没有正确安装 fastapi 或 uvicorn。请重新运行:

pip install fastapi uvicorn

Q2:修改代码后,为什么刷新网页没变化?

A2:默认情况下 Uvicorn 不会自动重载代码。加上 --reload 参数即可:

uvicorn main:app --reload

Q3:访问 docs 页面显示空白页?

A3:这可能是网络连接被防火墙阻挡。尝试关闭所有代理设置,或换用手机热点试试。

Q4:我想传多个参数怎么办?

A4:你可以使用查询参数(Query Parameters),比如:

@app.get("/add")
def add_numbers(a: int, b: int):
    return {"result": a + b}

访问:

http://localhost:8000/add?a=5&b=3

你会得到结果 8。


学习建议:下一步该学什么?

恭喜你完成了 FastAPI 入门教程!你现在可以编写基本的 API 接口了。那么下一步该怎么走呢?

初级阶段推荐学习内容:

  1. ✅ 学习更多请求方法(PUT、DELETE)
  2. ✅ 掌握请求参数和响应格式的处理(JSON、表单等)
  3. ✅ 学习中间件(Middleware)和依赖注入(Dependency Injection)
  4. ✅ 配合数据库使用(如 SQLite、PostgreSQL),并学习 ORM(推荐 SQLAlchemy 或 Tortoise ORM)
  5. ✅ 学习 JWT 认证、分页、过滤等常见功能
  6. ✅ 部署你的项目到服务器(如使用 Nginx + Gunicorn + FastAPI)

推荐学习资源:

  • 📘 官方文档
  • 📚 《FastAPI 极速入门》系列博客或视频课程(可在B站/CSDN查找)
  • 💻 参与 GitHub 上的开源 FastAPI 项目练手
  • ⚙️ 使用 Postman 工具来测试你写的 API 接口

结语

学习编程就像学习骑自行车,一开始可能会摇晃摔跤,但只要你坚持练习,就一定能自由驰骋。

希望这篇《FastAPI入门:Python后端开发新手指南》能成为你迈出第一步的好帮手。加油!你已经是个开发者了!

如果你喜欢这类文章,也可以关注我后续发布的更多实战项目教程。我们会一起探索 Python 后端世界的更多精彩!

评论 0

最热最新
暂无评论
产品和代码之间Lv.1
0
影响力
0
文章
0
粉丝