python开发知识点

一、Depends使用

无全局变量污染,绝对安全:彻底告别全局变量,实例不会被任意修改,杜绝因变量篡改导致的服务崩溃,请求数据完全隔离;

天然单例复用,性能拉满 :重量级资源(大模型 / 数据库)全局仅初始化 1 次,所有接口 / 并发请求复用,无重复创建的内存 / 时间浪费,

极致解耦,代码规范:资源初始化(大模型)与业务接口彻底分离,职责清晰;后续改模型配置 / 切换模型,仅改工具层,接口代码一行不动,维护成本极低;

优雅的资源生命周期管理 :通过yield实现「创建→使用→自动销毁」,接口结束自动释放连接 / 内存,杜绝内存泄漏,生产环境必备;

灵活易扩展,零重构成本:新增多模型、数据库、Redis 等依赖,仅新增依赖函数即可,所有接口无缝复用,支持多实例按需注入;

单元测试友好:轻松 Mock 模拟大模型 / 数据库等依赖,不调用真实资源,测试效率高;

完美适配 FastAPI:原生设计,兼容同步 / 异步逻辑,贴合 FastAPI 高性能特性,无任何兼容问题。

Depends 写在接口方法的参数里:
告诉 FastAPI:这个接口运行时,需要「自动获取」一个依赖资源,把这个资源赋值给当前参数,接口内部直接用即可;这个参数的值,不需要前端传,完全由后端自动填充。

相关推荐
Frdbio2 小时前
环腺苷酸(cAMP)ELISA检测试剂盒
linux·人工智能·python
狗狗学不会2 小时前
RK3588 极致性能:使用 Pybind11 封装 MPP 实现 Python 端 8 路视频硬件解码
人工智能·python·音视频
love530love2 小时前
EPGF 新手教程 21把“环境折磨”从课堂中彻底移除:EPGF 如何重构 AI / Python 教学环境?
人工智能·windows·python·重构·架构·epgf
ldccorpora2 小时前
Chinese News Translation Text Part 1数据集介绍,官网编号LDC2005T06
数据结构·人工智能·python·算法·语音识别
大学生毕业题目2 小时前
毕业项目推荐:99-基于yolov8/yolov5/yolo11的肾结石检测识别系统(Python+卷积神经网络)
人工智能·python·yolo·目标检测·cnn·pyqt·肾结石检测
寄思~2 小时前
Excel 数据匹配工具 -笔记
笔记·python·学习·excel
其美杰布-富贵-李3 小时前
PyTorch Lightning
人工智能·pytorch·python·training
开开心心_Every3 小时前
安卓做菜APP:家常菜谱详细步骤无广简洁
服务器·前端·python·学习·edge·django·powerpoint
SiYuanFeng3 小时前
pytorch常用张量构造词句表和nn.组件速查表
人工智能·pytorch·python