第1课:FastAPI|简介、核心优势、技术生态与整体学习路线

📅 2026/7/17 0:02:21 👁️ 阅读次数 📝 编程学习
第1课:FastAPI|简介、核心优势、技术生态与整体学习路线

文章目录

    • 1. 课前导读
      • 本节课学习目标
      • 前置知识
      • 学完能掌握什么
      • 适用人群
    • 2. 核心理论讲解
      • 2.1 什么是FastAPI?——从名字说起
      • 2.2 FastAPI的核心底层组件(关键!理解原理)
        • 2.2.1 Starlette —— Web框架的“引擎”
        • 2.2.2 Pydantic —— 数据验证与设置的“安全气囊”
      • 2.3 FastAPI的设计思想:开发者体验是第一优先级
      • 2.4 FastAPI vs Flask vs Django —— 一张表看懂区别
      • 2.5 FastAPI技术生态全景图
      • 2.6 为什么FastAPI在2025年更值得学?
    • 3. 环境搭建 & 实操准备
      • 3.1 Python版本要求
      • 3.2 环境安装步骤(Windows/macOS/Linux通用)
        • 步骤1:安装Python
        • 步骤2:创建项目目录
        • 步骤3:安装FastAPI和ASGI服务器
        • 步骤4:验证安装
      • 3.3 开发工具推荐(提升效率)
    • 4. 手把手代码实战
      • 4.1 你的第一个FastAPI程序(Hello World)
      • 4.2 运行程序
      • 4.3 测试接口(三种方法)
        • 方法1:浏览器访问
        • 方法2:curl命令(终端)
        • 方法3:使用FastAPI自动生成的交互式文档
      • 4.4 增加一个带参数的接口(感受类型验证)
      • 4.5 接口请求/响应规范说明
    • 5. 重点知识点总结
      • 核心语法速记表
      • 易错点与避坑指南
      • 最佳实践(企业级开发经验)
    • 6. 课后作业 & 思考题
      • 实操练习题(必做)
      • 理论思考题
      • 拓展学习方向
    • 7. 本节干货总结
      • 核心考点(面试/自测)
      • 实际工作应用场景(学了就能用)
    • 下节课预告
  • 🔗《20节课 FastAPI 从入门到精通》系列课程导航

1. 课前导读

本节课学习目标

欢迎来到《FastAPI 从入门到精通》系列专栏的第1课!作为整个课程的“开篇之章”,本节课将带你全面认识FastAPI这一现代化Python Web框架。学完本节课,你将:

  • 理解FastAPI的定位:知道FastAPI在Python Web框架生态中处于什么位置,解决了哪些痛点
  • 掌握核心优势:深入理解FastAPI的四大核心卖点——高性能、高开发效率、自动文档、类型安全
  • 建立技术认知:了解FastAPI背后的设计哲学(Pydantic + Starlette),明白它为什么能成为当前最火的Python框架之一
  • 理清技术生态:熟悉FastAPI周边常用组件(数据库ORM、验证库、部署工具等)
  • 制定学习路线:获得完整的学习路径图,明确后续19节课的学习节奏

前置知识

本节课对初学者友好,但你若具备以下基础,学习效果会更好:

  • Python基础语法:知道变量、函数、类、列表推导式、装饰器等基本概念(不要求精通,有认知即可)
  • 基本HTTP概念:了解什么是URL、HTTP方法(GET/POST)、请求与响应、状态码等最基础的知识
  • 命令行基础:能打开终端/CMD,会执行简单的pip安装命令

零基础提示:如果你完全没有接触过上述知识,也不用担心——本节课会用通俗的类比和详细的注解帮你建立认知框架。第2课开始会系统讲解环境搭建,你可以边学边补基础。

学完能掌握什么

学完本节课后,你将具备以下能力:

  1. 能够清晰地说出FastAPI的核心优势(面试常问)
  2. 知道FastAPI适合什么场景、不适合什么场景(技术选型能力)
  3. 完成FastAPI开发环境的搭建(Python + FastAPI + Uvicorn安装)
  4. 运行你的第一个FastAPI程序(Hello World级别的接口)
  5. 理解整个专栏的学习路线(知道自己接下来要学什么、学到什么程度可以找工作/做项目)

适用人群

  • Python后端初学者:想入行Web开发但不知道学什么框架的“选择困难症患者”
  • Flask/Django开发者:想了解新一代异步框架,提升接口性能的老手
  • 数据科学家/机器学习工程师:需要快速将模型封装成API服务的从业者
  • 技术负责人/架构师:正在做技术选型,需要评估FastAPI在团队中的可行性
  • 全栈工程师:希望前后端分离开发,需要一个高性能的后端框架

2. 核心理论讲解

2.1 什么是FastAPI?——从名字说起

FastAPI,拆开来看就是“Fast”(快速) + “API”(应用程序接口)。这个命名非常直白地传达了框架的核心追求:让开发者能够快速编写高性能的API接口

简单来说,FastAPI是一个基于Python的现代化Web框架,专为构建API(尤其是RESTful API)而设计。它诞生于2018年,作者是Sebastián Ramírez(智利开发者),虽然问世时间不长,但已经在GitHub上收获了超过6万颗Star,成为Python社区增长最快的框架之一。

用一句话概括:FastAPI = 异步高性能 + 自动生成文档 + 类型安全 + Python 3.7+特性全面支持。

2.2 FastAPI的核心底层组件(关键!理解原理)

要真正理解FastAPI,不能仅仅停留在“它会自动生成文档”这个表面认知。你需要知道它站在哪两个“巨人”的肩膀上:

2.2.1 Starlette —— Web框架的“引擎”

Starlette是一个轻量级的ASGI(Asynchronous Server Gateway Interface,异步服务器网关接口)框架,它提供了:

  • 路由系统:将URL映射到对应的处理函数
  • 中间件支持:可以全局处理请求/响应(如CORS、Gzip压缩)
  • WebSocket支持:实时通信能力
  • 高性能:基于Uvicorn(ASGI服务器),性能媲美Node.js和Go

类比理解:如果把FastAPI比作一辆“智能汽车”,那么Starlette就是它的“底盘和发动机”——提供基础的动力和行驶能力。FastAPI在Starlette之上加装了“自动驾驶系统”(自动文档)和“智能安全系统”(数据验证)。

2.2.2 Pydantic —— 数据验证与设置的“安全气囊”

Pydantic是一个数据验证库,它利用Python的类型注解来定义数据模型,并自动完成:

  • 请求体校验:确保客户端传来的数据格式正确(如邮箱字段真的是邮箱格式)
  • 类型转换:自动将字符串"123"转换成整数123
  • 序列化/反序列化:将Python对象转为JSON(返回响应),或者将JSON转为Python对象(接收请求)

工作原理图解(文字描述)

客户端请求(JSON) → FastAPI接收 → Pydantic模型校验/转换 → 转换为Python对象 → 业务逻辑处理 → Pydantic序列化为JSON → 返回客户端

如果没有Pydantic,你需要手写大量if语句来判断参数类型、长度、格式,代码会臃肿不堪。而有了Pydantic,你只需要声明一个类:

frompydanticimportBaseModelclassUser(BaseModel):name:strage:intemail:str

然后FastAPI就会自动完成所有校验。这就是FastAPI“开发效率极高”的核心秘密

2.3 FastAPI的设计思想:开发者体验是第一优先级

FastAPI的作者曾说过一句很经典的话:“The key features are that it’s fast, very intuitive to use, and it’s robust.”(核心特性是速度快、非常直观易用、并且健壮。)

基于这个思想,FastAPI的设计处处体现着对开发者的“贴心”:

  1. 编辑器支持优先:充分利用类型注解,让IDE(如VS Code、PyCharm)能够提供智能提示、自动补全、错误检测。你在写代码时就能发现一半的bug。
  2. 减少样板代码:对比Flask,实现同样的功能,FastAPI通常只需要一半甚至更少的代码行数。
  3. 清晰的错误提示:当请求参数错误时,FastAPI会自动返回详细的JSON错误信息,告诉你哪个字段错了、期望什么类型。
  4. 交互式文档:无需额外配置,访问/docs就能得到一个可在线测试API的Swagger UI界面。

2.4 FastAPI vs Flask vs Django —— 一张表看懂区别

很多初学者最纠结的就是:“我到底该学哪个框架?”下面用企业开发场景的视角来对比:

对比维度FastAPIFlaskDjango
性能极高(异步,接近Node.js/Go)一般(同步,每个请求阻塞)一般(同步,但可通过插件异步)
学习曲线中等(需要理解异步和类型注解)平缓(简单灵活,上手快)陡峭(自带太多概念:ORM、Admin、Form等)
开发效率高(自动文档、校验、依赖注入)中等(需要自己集成各种库)高(自带功能多,但学习成本高)
适用场景微服务、高性能API、前后端分离项目简单Web应用、原型验证、小型服务大型一体化Web应用、内容管理系统(CMS)
异步支持原生支持需要额外库(如Quart)有限支持(Django 3.1+ 开始部分支持)
数据验证Pydantic自动验证需要手动或使用第三方库(如marshmallow)内置Form/Model验证
文档生成自动生成Swagger/ReDoc需要手动配置(如flask-swagger)需要第三方库
生态成熟度较新但增长快非常成熟(大量扩展)非常成熟(大而全)
企业应用率快速增长(优步、Netflix等有使用案例)广泛应用(中小型项目)广泛应用(大型项目、Instagram等)

真实企业场景选型建议

  • 新项目是纯API后端,要求高并发→ 首选FastAPI
  • 快速写个管理后台,需要自带ORM和模板引擎→ 选Django
  • 已有Flask项目,想迁移到异步→ 可以考虑FastAPIQuart
  • 你是个人开发者,想快速上线MVP(最小可行产品)FastAPIFlask都可以,但FastAPI后续扩展性更好

2.5 FastAPI技术生态全景图

学习FastAPI不能只看框架本身,实际开发中你会用到一系列周边组件。下面列出企业级开发最常用的“全家桶”:

核心层: ├── FastAPI (主框架) ├── Uvicorn / Hypercorn (ASGI服务器,用于运行应用) └── Pydantic (数据验证) 数据库层: ├── SQLAlchemy (ORM,操作关系型数据库如MySQL、PostgreSQL) ├── Alembic (数据库迁移工具,配合SQLAlchemy) ├── databases (异步数据库操作库) └── motor (异步MongoDB驱动) 认证授权层: ├── python-jose (JWT令牌处理) ├── passlib (密码哈希) └── python-multipart (处理表单和文件上传) 缓存与限流: ├── aioredis / redis-py (Redis操作) └── slowapi (接口限流) 后台任务: ├── celery (分布式任务队列) └── background-tasks (FastAPI内置轻量级后台任务) 测试与部署: ├── pytest (单元测试) ├── httpx (异步HTTP客户端,用于测试) └── docker (容器化部署)

重要提示:你不需要一次性学完所有这些工具!后续课程会按需引入,从最简单的开始,逐步过渡到企业级方案。

2.6 为什么FastAPI在2025年更值得学?

  • 市场需求激增:根据2024年Python开发者调查,FastAPI使用率已超过Flask,成为Python Web框架第二名(仅次于Django),且增速第一。
  • AI工程化标配:大模型应用开发中,几乎所有的模型推理服务都用FastAPI封装(因为异步性能高,易于处理流式响应)。
  • 微服务架构友好:轻量、高性能、自动文档,使得FastAPI成为Spring Boot之外的另一个优秀选择(尤其适合Python技术栈的公司)。
  • 异步编程趋势:随着CPU多核心普及和IO密集型任务增多,异步已是后端开发必备技能,而FastAPI是学习异步最好的实战框架。

3. 环境搭建 & 实操准备

3.1 Python版本要求

  • 最低版本:Python 3.7(因为FastAPI大量使用了3.6+引入的类型注解特性)
  • 推荐版本:Python 3.10 或更高版本(更好的错误提示和性能)

⚠️重要:请不要使用Python 3.6及以下版本,否则将无法安装FastAPI。可以使用python --version检查你的版本。

3.2 环境安装步骤(Windows/macOS/Linux通用)

步骤1:安装Python
  • Windows:访问 python.org,下载3.10+版本,安装时勾选“Add Python to PATH”。
  • macOS:推荐使用Homebrew:brew install python@3.10
  • Linux(Ubuntu/Debian)sudo apt update && sudo apt install python3.10 python3-pip
步骤2:创建项目目录

打开终端(CMD/PowerShell/Terminal),执行:

# 创建一个专门存放本专栏代码的文件夹mkdirfastapi_coursecdfastapi_course# 创建第1课的代码目录mkdirlesson01cdlesson01
步骤3:安装FastAPI和ASGI服务器
# 安装FastAPI(会自动安装Starlette和Pydantic)pipinstallfastapi# 安装Uvicorn ASGI服务器(用于运行应用)pipinstalluvicorn# (可选)安装httpx用于后续测试pipinstallhttpx

常见安装问题及解决方案

报错信息可能原因解决方案
pip command not foundPython未正确安装或未加入PATH重新安装Python并勾选“Add to PATH”;或用python -m pip替代pip
ERROR: Could not find a version that satisfies the requirement fastapipip版本过旧或网络问题升级pip:pip install --upgrade pip;换国内源:pip install fastapi -i https://pypi.tuna.tsinghua.edu.cn/simple
WARNING: You are using pip version 20.0.0, however version 23.0.0 is availablepip版本低执行pip install --upgrade pip
SyntaxError: invalid syntax出现在安装后运行Python代码误在Python交互环境执行pip命令退出Python交互环境(exit()),在系统终端执行pip
步骤4:验证安装

创建一个测试文件test_install.py,写入以下代码:

# test_install.pyimportfastapiimportuvicornprint(f"FastAPI version:{fastapi.__version__}")print(f"Uvicorn version:{uvicorn.__version__}")print("环境安装成功!")

运行:

python test_install.py

如果输出类似FastAPI version: 0.115.0(版本号可能不同),说明安装成功。

3.3 开发工具推荐(提升效率)

  • VS Code(免费,推荐):

    • 安装Python扩展(Microsoft官方)
    • 安装Pylance(类型检查,提升代码补全)
    • 设置中开启"Python > Analysis: Type Checking Mode" 为 “basic” 或 “strict”
  • PyCharm Professional(收费,学生免费):开箱即用对FastAPI支持很好。

  • API测试工具

    • 浏览器:访问FastAPI自动生成的/docs界面(无需额外工具)
    • Postman(功能强大,适合团队协作)
    • curl(命令行轻量级测试)
    • HTTPie(更人性化的命令行工具)

4. 手把手代码实战

4.1 你的第一个FastAPI程序(Hello World)

创建main.py文件,写入以下完整代码:

# main.py""" 第一个FastAPI程序:创建一个简单的GET接口,返回JSON数据。 运行方式:uvicorn main:app --reload """# 导入FastAPI类fromfastapiimportFastAPI# 创建FastAPI应用实例(这是整个应用的核心对象)app=FastAPI()# 使用装饰器声明路径操作函数# @app.get 表示这是一个HTTP GET请求的处理器# "/" 是根路径,即访问 http://127.0.0.1:8000/ 时会触发这个函数@app.get("/")defroot():""" 根路径处理函数 返回一个字典,FastAPI会自动将其转换为JSON格式的响应体 """return{"message":"Hello World","status":"success"}# 如果你直接运行这个文件(而不是通过uvicorn启动),会执行以下代码if__name__=="__main__":importuvicorn# 启动服务器:# host="127.0.0.1":只允许本地访问,生产环境改为"0.0.0.0"监听所有网卡# port=8000:监听端口号# reload=True:开发模式下代码变动自动重启(生产环境务必设为False)uvicorn.run(app,host="127.0.0.1",port=8000,reload=True)

逐行详解

  1. from fastapi import FastAPI:导入框架主类。
  2. app = FastAPI():实例化,创建应用。可以传入参数(如title、version)定制文档。
  3. @app.get("/")装饰器语法,告诉FastAPI当收到对根路径的GET请求时,执行下面的函数。其他方法类似:@app.post()@app.put()@app.delete()等。
  4. def root()::这个函数名可以任意(常见命名:root,home,index),但最好是语义化的。
  5. return {"message": "Hello World"}:返回Python字典,FastAPI自动做三件事:
    • 将字典转为JSON字符串
    • 设置响应头Content-Type: application/json
    • 设置HTTP状态码为200(成功)
  6. uvicorn.run(app, host="127.0.0.1", port=8000, reload=True):编程方式启动服务器,reload=True是热重载,修改代码后服务器自动重启。

4.2 运行程序

在终端(确保当前目录在lesson01下)执行:

# 方式1:使用命令行启动(推荐)uvicorn main:app--reload# 方式2:直接运行Python文件(因为我们在main.py末尾加了启动代码)python main.py

输出示例

INFO: Will watch for changes in these directories: ['/path/to/lesson01'] INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [12345] using WatchFiles INFO: Started server process [12346] INFO: Waiting for application startup. INFO: Application startup complete.

看到这些日志,说明服务已成功启动。

4.3 测试接口(三种方法)

方法1:浏览器访问

打开浏览器,访问http://127.0.0.1:8000/,你会看到:

{"message":"Hello World","status":"success"}
方法2:curl命令(终端)

打开另一个终端窗口,执行:

curlhttp://127.0.0.1:8000/

输出:

{"message":"Hello World","status":"success"}
方法3:使用FastAPI自动生成的交互式文档

访问http://127.0.0.1:8000/docs,你会看到一个美观的Swagger UI界面,列出了所有接口(目前只有一个GET /)。点击GET /Try it outExecute,即可在线测试并看到响应。

这就是FastAPI最爽的功能之一:零成本得到一个可测试的API文档!

4.4 增加一个带参数的接口(感受类型验证)

现在我们在同一个main.py中增加第二个接口,展示FastAPI如何自动处理参数和类型验证。

# 在 root 函数后面添加@app.get("/items/{item_id}")defread_item(item_id:int,q:str=None):""" 路径参数示例 - item_id: 路径中传递的参数,声明为int类型,FastAPI会自动转换和校验 - q: 查询参数(URL中?后面的参数),默认值为None表示可选 """return{"item_id":item_id,"query_param":q}

完整代码main.py最终版):

fromfastapiimportFastAPI app=FastAPI()@app.get("/")defroot():return{"message":"Hello World","status":"success"}@app.get("/items/{item_id}")defread_item(item_id:int,q:str=None):""" 路径参数item_id会自动做类型转换和校验 查询参数q从URL的?q=xxx中获取 """return{"item_id":item_id,"query_param":q}if__name__=="__main__":importuvicorn uvicorn.run(app,host="127.0.0.1",port=8000,reload=True)

保存文件(由于设置了reload=True,服务器会自动重启)。

测试新接口

# 正常请求:item_id=123 作为路径一部分,?q=hello 作为查询参数curl"http://127.0.0.1:8000/items/123?q=hello"# 输出:{"item_id":123,"query_param":"hello"}# 测试类型校验:传递非数字的item_idcurl"http://127.0.0.1:8000/items/abc"# 输出自动生成的错误(FastAPI返回422状态码,说明数据类型不合法):{"detail":[{"type":"int_parsing","loc":["path","item_id"],"msg":"Input should be a valid integer, unable to parse string as an integer","input":"abc"}]}

看到这个错误响应了吗?这就是Pydantic在背后工作。你不需要写任何try/except,FastAPI自动捕获了类型错误并返回标准格式。

4.5 接口请求/响应规范说明

接口HTTP方法请求示例路径参数查询参数响应示例
/GETGET http://localhost:8000/{"message":"Hello World","status":"success"}
/items/{item_id}GETGET http://localhost:8000/items/42?q=testitem_id=42(整数)q=test(字符串,可选){"item_id":42,"query_param":"test"}

5. 重点知识点总结

核心语法速记表

组件语法说明
创建应用app = FastAPI()入口对象
GET接口@app.get("/path")装饰器
POST接口@app.post("/path")创建资源时使用
路径参数def func(item_id: int)从URL路径中提取
查询参数def func(q: str = None)从?key=value提取
返回JSONreturn {"key": "value"}自动序列化
启动命令uvicorn main:app --reloadmain是文件名,app是变量名

易错点与避坑指南

  1. ❌ 错误:忘记安装uvicorn,直接运行python main.py报错ModuleNotFoundError: No module named 'uvicorn'

    • 解决:先pip install uvicorn,或者在main.py中只保留FastAPI逻辑,通过uvicorn main:app启动。
  2. ❌ 错误:路径参数类型声明为int,但实际传入"abc",程序没报错?

    • 理解:FastAPI会自动返回422错误,不会崩溃你的服务。这是好事,表示框架帮你兜底了。
  3. ❌ 错误:修改代码后服务器没有自动重启

    • 检查:启动命令中是否加了--reload参数?是否在编辑器保存了文件?(Ctrl+S)
  4. ❌ 错误:端口8000被占用,启动失败

    • 解决:更换端口,如uvicorn main:app --port 8001,或关闭占用8000端口的进程。
  5. ❌ 错误:返回的数据不是JSON格式,而是纯文本

    • 检查:是否返回了字符串(如return "Hello")?FastAPI会按字符串处理,返回text/plain。如需强制JSON,返回字典或使用JSONResponse

最佳实践(企业级开发经验)

  1. 开发时一定加--reload:提升调试效率,但生产环境务必去掉,否则会浪费CPU资源。
  2. 给FastAPI应用起个标题app = FastAPI(title="我的第一个API", version="1.0.0"),这些会显示在/docs上。
  3. 使用if __name__ == "__main__":方便直接运行脚本调试,但生产部署时建议用命令行启动(更可控)。
  4. 命名规范:路径操作函数名用get_usercreate_item等动词+名词,不要用func1test
  5. 明确参数类型:尽量给所有参数加上类型注解(intstrbool),这既是文档也是校验。

6. 课后作业 & 思考题

实操练习题(必做)

  1. 基础练习:在第1课代码基础上,新增一个接口GET /hello/{name},返回{"message": f"Hello, {name}"}。要求name必须是字符串(长度1-20字符,提示:可暂时不实现长度校验,后续课程会讲)。

  2. 进阶练习:创建三个接口:

    • GET /users:返回用户列表(假数据即可)
    • GET /users/{user_id}:根据ID返回单个用户
    • POST /users:接收JSON请求体{"name": "张三", "age": 25},返回创建成功消息

    提示:POST接口需要导入from pydantic import BaseModel定义请求体模型,后续第5课会详细讲。

  3. 挑战练习:实现一个计算器接口GET /calc,接收两个查询参数ab(都是整数),以及一个字符串参数op(支持addsubmuldiv),返回计算结果。要求处理除零错误。

理论思考题

  1. 为什么FastAPI同时需要Starlette和Pydantic?如果只用其中一个,会缺失哪些功能?
  2. 比较Flask和FastAPI的请求参数处理方式:Flask中获取查询参数用request.args.get('q'),FastAPI直接通过函数参数声明。这两种方式的优劣是什么?
  3. 思考企业场景:你所在的公司要重构一个日活百万的API网关,并发请求约5000 QPS,你会选择Flask还是FastAPI?为什么?

拓展学习方向

  • 阅读官方文档:FastAPI官方文档(https://fastapi.tiangolo.com)是最好的学习资料,尤其前3个教程。
  • 了解ASGI协议:搜索“ASGI vs WSGI”,理解为什么异步服务器(Uvicorn)比传统同步服务器(Gunicorn)性能高。
  • 尝试Type Hints:Python官方文档中阅读“Type Hints”一节,这是用好FastAPI的前提。

7. 本节干货总结

核心考点(面试/自测)

  1. FastAPI的底层由哪两个库组成?各负责什么?

    • Starlette(Web路由、中间件) + Pydantic(数据校验、序列化)
  2. FastAPI相比Flask的核心优势?

    • 自动生成API文档、异步高性能、类型注解驱动的数据校验。
  3. 如何启动一个FastAPI应用并开启热重载?

    • uvicorn main:app --reload
  4. 路径参数和查询参数的区别?

    • 路径参数是URL一部分(/user/123),查询参数在?后(/user?id=123)。

实际工作应用场景(学了就能用)

  • 场景1:数据科学模型部署
    训练好的机器学习模型(如PyTorch、TensorFlow),用FastAPI封装一个预测接口,其他系统通过HTTP调用。异步特性可以支持高并发推理请求。

  • 场景2:微服务中的BFF(Backend For Frontend)层
    前端(React/Vue)需要一个聚合接口,同时调用多个后端服务(订单服务、用户服务)。用FastAPI的异步并发能力(asyncio.gather)将总响应时间从串行3秒降到并行1秒。

  • 场景3:替代传统Flask项目中的API部分
    已有Django管理后台,但需要单独编写高性能的API给移动端使用。FastAPI可以作为独立的API服务,与Django共享数据库。

  • 场景4:开源项目/个人博客后端
    快速开发RESTful API,自动生成文档方便他人调用,类型安全减少低级bug。


下节课预告

本节课我们完成了FastAPI的初步认知和环境搭建,运行了第一个Hello World程序。但你是否注意到:我们安装FastAPI时直接装在了全局Python环境中,如果以后多个项目依赖不同版本的FastAPI或者Python,就会产生冲突。

下节课(第2课),我们将学习:

  • Python虚拟环境管理venv/conda):隔离项目依赖,彻底解决版本冲突问题。
  • FastAPI完整安装配置:包括生产环境依赖分离(requirements.txtpyproject.toml)。
  • 常见踩坑大全:收集了新手最容易犯的20个错误及解决方案。

确保你的Python环境已经安装好,下节课我们正式进入项目级的工程化实践!


🔗《20节课 FastAPI 从入门到精通》系列课程导航

去订阅

🌟 感谢您耐心阅读到这里!
💡 如果本文对您有所启发欢迎:
👍 点赞📌 收藏 📤 分享给更多需要的伙伴。
🗣️ 期待在评论区看到您的想法, 共同进步。
🔔 关注我,持续获取更多干货内容~
🤗 我们下篇文章见~