1.4 必备依赖安装:FastAPI、Uvicorn、Pydantic
Python FastAPI入门教程:快速上手Web开发
这是一份专为Python初学者设计的FastAPI入门教程,通过简单易懂的示例和生活化类比,帮助您从零开始快速学习Web开发,建立编码信心。
Python FastAPI入门教程:为初学者打造的信心之旅
介绍:FastAPI是什么?
想象一下,FastAPI就像一个超级快的点餐系统。在餐厅里,你告诉服务员(服务器)你想吃什么(请求),服务员快速处理并送上菜肴(响应)。同样,FastAPI能让你轻松创建网络应用,处理用户请求并返回数据。它结合了现代Python特性,特别适合初学者,因为它简单、快速,并且有自动文档生成。
必备依赖安装:开始前的准备
在开始编码之前,我们需要安装几个基本工具,这就像搭建一个工作台。确保你已经安装了Python(建议3.7+),然后打开命令行(终端或CMD),运行以下命令:
pip install fastapi uvicorn pydantic
- FastAPI:主框架,用来构建API。
- Uvicorn:服务器,像餐厅的服务员,负责运行和监听请求。
- Pydantic:数据验证工具,像一张检查清单,确保输入数据正确。
如果一切顺利,你会看到安装成功的消息。恭喜!你已经迈出了第一步。
第一个FastAPI应用:你的“成功时刻”
让我们创建一个最简单的应用,体验一下FastAPI的强大。新建一个Python文件,比如 main.py,并添加以下代码:
# main.py
from fastapi import FastAPI
app = FastAPI() # 创建一个FastAPI应用实例,就像搭建一个餐厅
@app.get("/") # 定义一个路由,处理访问根路径(/)的GET请求
async def read_root():
return {"message": "Hello, World!"} # 返回一个简单的JSON响应
现在,运行服务器:
uvicorn main:app --reload
- main:app:指定主文件和FastAPI实例。
- --reload:启用热重载,代码更改后自动重启服务器,便于调试。
打开浏览器,访问 http://127.0.0.1:8000。你会看到一个JSON响应:{"message": "Hello, World!"}。太棒了!你已经创建了第一个API,这是一个重要的“成功时刻”。
理解基本概念:用生活化类比
- 路由(Route):就像餐厅的菜单项,每个路径(如
/)对应一个功能。 - 请求和响应(Request/Response):用户发送请求(点餐),服务器处理并返回响应(上菜)。
- Uvicorn服务器:它是运行应用的“引擎”,类似于餐厅的厨房和服务员团队。
- Pydantic模型:用于验证数据,想象你点餐时填写一个表格,Pydantic确保表格填写正确,避免错误订单。
更多动手示例:建立信心
示例1:创建一个简单的计算器API
修改 main.py 添加新路由:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
# 使用Pydantic定义一个数据模型,就像为计算器输入定义规则
class Numbers(BaseModel):
a: int
b: int
@app.post("/add/") # 处理POST请求,添加路径
async def add_numbers(numbers: Numbers):
result = numbers.a + numbers.b
return {"result": result}
运行服务器,使用工具(如Postman或浏览器扩展)发送POST请求到 http://127.0.0.1:8000/add/,JSON体为 {"a": 5, "b": 3}。响应会是 {"result": 8}。看,你快速构建了一个功能API!
示例2:构建一个迷你待办事项列表
扩展应用:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
# 简单的数据存储,用列表模拟数据库
todos = []
class Todo(BaseModel):
task: str
completed: bool = False
@app.get("/todos/") # 获取所有待办事项
async def get_todos():
return todos
@app.post("/todos/") # 添加新待办事项
async def add_todo(todo: Todo):
todos.append(todo)
return todo
运行后,访问 http://127.0.0.1:8000/todos/ 查看列表,发送POST请求添加事项。这展示了FastAPI处理数据的能力,建立更多信心。
探索自动文档:又一个惊喜
FastAPI自动生成交互式API文档。运行应用后,访问 http://127.0.0.1:8000/docs 或 http://127.0.0.1:8000/redoc。你可以在这里测试API,无需额外工具。这像是一个内置的餐厅菜单和点餐系统,非常方便。
总结和下一步
你已经掌握了FastAPI的基础:安装依赖、创建简单应用、理解路由和请求处理。通过类比和动手实践,你应该对Web开发有了初步信心。
下一步建议:
- 尝试添加更多路由,比如删除或更新待办事项。
- 学习处理路径参数(如
/users/{user_id})和查询参数。 - 查阅官方文档(fastapi.tiangolo.com)深入学习。
记住,编程就像学习做菜——多加练习,你会越来越熟练。继续保持好奇和动手实践,享受FastAPI带来的乐趣!
如果有问题,欢迎在评论区讨论或查阅资源。祝你学习顺利!