- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 08. ORM——快速开始
本文介绍了ORM(对象关系映射)技术及其在Python中的应用。主要内容包括:1)ORM概念及优势,如减少SQL代码、提高开发效率等;2)Python常用ORM工具(SQLAlchemy、Django ORM等);3)快速入门指南,涵盖安装SQLAlchemy、创建数据库和引擎;4)表定义方法,包括基类和模型类的创建;5)使用FastAPI的lifespan机制实现自动建表。重点讲解了SQLAlchemy ORM的具体实现,包括字段定义、数据类型映射和默认值设置等细节,并提供了完整的代码示例展示如何与MyS
2026-04-23 21:00:38
519
原创 07. FastAPI——依赖注入(Depends)
依赖注入是FastAPI中的核心功能,通过Depends实现通用逻辑的复用。它能在执行接口函数前自动执行依赖函数,并将结果作为参数传递。相比手动调用依赖,Depends能自动处理参数解析、依赖嵌套和生命周期管理,并具有请求级缓存机制。依赖注入常用于登录校验、数据库连接等接口级逻辑,而中间件更适合处理全局逻辑。通过将重复逻辑封装为依赖项,可以显著减少代码冗余,提高开发效率。实际开发中,建议将系统错误转换为业务错误,通过状态码明确反馈给前端。
2026-04-01 11:33:55
514
2
原创 06. FastAPI——中间件
中间件其实是在和执行的一段就像一个。可以把中间件看作放公共逻辑的地方,这样避免有些需要重复执行的逻辑在每个接口都写一遍。
2026-03-27 11:40:44
464
原创 05. FastAPI——异常处理
文章摘要:本文介绍了FastAPI中HTTP异常处理的实践方法。首先列举了常见异常场景及对应HTTP状态码(如404资源不存在、401未登录等)。重点讲解了HTTPException的使用,它能在业务逻辑出错时返回结构化错误信息而非程序崩溃。通过图书查询示例展示了如何主动抛出404异常,并说明了异常响应的报文格式。文章还补充了Python异常处理关键字(try/except/raise)的使用场景区分,以及常用HTTP状态码的应用场景(如400参数错误、500服务器错误等)。
2026-03-25 12:28:30
273
原创 04. FastAPI——响应类型
response_model 是路径操作装饰器(@app.get或@app.post)的关键参数,它通过一个pydantic 模型来严格定义和约束API端点的输出格式。这一机制在提供自动数据验证和序列化的同时,更是保障数据安全性的第一道防线。class News(BaseModel): # 自定义的数据格式,但是必须是BaseModel的子类id: inttitle: str。
2026-03-23 18:34:32
435
原创 03. FastAPI——参数
本文介绍了FastAPI中三种常见参数类型的使用方法:1. 路径参数(Path Parameters)2. 查询参数(Query Parameters)3. 请求体参数(Request Body)。文章详细说明了每种参数的定义方式、应用场景以及通过类型注解和校验函数实现参数验证的具体方法,为FastAPI开发中的参数处理提供了实用指导。
2026-03-19 16:44:09
462
原创 02. FastAPI——路由
摘要:FastAPI通过装饰器定义路由,建立URL路径、HTTP方法与处理函数的映射关系。以@app.get("/url_root")为例,当客户端GET请求该路径时,会调用异步函数root(),其返回的字典会自动转为JSON响应。这种简洁的装饰器语法(3行代码)即可实现路由功能,返回结果可在浏览器或/docs文档中查看。
2026-03-13 10:48:54
121
原创 01. FastAPI——快速开始
本文介绍了FastAPI项目的创建与运行方法。通过PyCharm创建项目后,可以使用两种方式运行:Terminal输入uvicorn main:app --reload实现热部署,或点击PyCharm运行按钮(较慢)。推荐使用Terminal命令运行,修改代码后刷新页面即可实时查看效果。此外,访问/docs路径可查看交互式API文档,若页面空白可尝试安装fastapi-cdn-host包解决。
2026-03-13 10:30:29
459
原创 00. FastAPI——了解FastAPI
FastAPI是一个高性能Python Web框架,专为构建API服务设计。相比Flask和Django,它特别适合AI项目,采用"用户→API→AI模型→返回结果"的架构模式。主要特点包括:1)支持异步/同步执行,利用async/await提高并发处理能力;2)内置Pydantic实现自动数据校验,通过类型注解减少手动校验代码;3)自动生成交互式API文档(Swagger UI),支持在线测试接口。这些特性使FastAPI成为Python+AI开发的理想选择,既能提升性能又简化开发流程
2026-03-13 10:05:47
427
原创 四、Python面向对象编程基础——Python中的一切皆对象
本文介绍了Python中"一切皆对象"的核心概念。主要内容包括:1)基本数据类型如str、int、list等都是对象,可通过type()验证;2)函数、类和模块也是对象,分别属于不同类别的实例;3)所有对象都具有一等公民特性,可以被变量引用、作为函数参数和返回值、存储在容器中。文章通过自定义Dog类和内置类型的对比,说明Python中对象处理的统一性,并强调实例对象的可变性和一等公民特性。
2026-03-03 12:24:07
621
原创 三、Python面向对象编程基础——理解__init__()
推荐b站资源:一鼓作气拿下Python的拦路虎:面向对象——苑昊老师首次学习/快速回顾两相宜此处仅作为个人学习笔记,仅总结自己认为的重点。
2025-12-31 04:15:35
184
原创 二、Python面向对象编程基础——理解self
本文介绍了Python面向对象编程中self参数的关键作用。通过Dog类的实例演示,说明self代表调用方法的实例对象本身,Python会自动传递该参数。修改bark()方法打印self地址,验证self就是当前实例对象。不同实例调用同一方法时,self会指向各自的实例对象。文章强调self虽可任意命名,但约定俗成使用self,并展示了实例属性和方法的绑定关系,帮助理解面向对象的核心概念。
2025-12-30 16:59:18
380
原创 一、Python面向对象编程基础——类、实例对象与内存空间
如图所示,我们在代码中已经定义好了Dog类以及alex和peiqi两个Dog类下的实例。# 一般而言类名命名建议首字母大写,函数/方法名建议小写。都不能以字母开头。class Dog:# 定义属性# 定义方法print("狂吠")print("咬人")print("叼物品")那么,当使用如下代码创建alex和peiqi两个实例时,内存空间变为这两个实例对象开辟了两块独立的内存空间,由于现在仅仅完成创建实例对象的动作,所以此时的实例对象空间里还什么都没有。
2025-12-29 17:20:12
427
原创 ERROR: failed to solve: node:18-alpine解决办法
考虑由于网络问题导致Docker 无法从 Docker Hub 直接拉取。运行以上命令后,可以正常利用镜像创建容器。
2025-03-04 14:28:22
4820
1
原创 统信系统 Python编译时提示没有正确链接zlib库解决办法
来引导安装pip,但在pip安装过程中,命令行却提示没有zlib模块,但是图形界面已经提示我安装了。在统信系统中安装python3.10后发现不能使用pip,但按理说python3.10应该带着pip,想利用命令。zlib1g和zlib1g-dev的全称太麻烦了,以下简称zlib1g.deb和zlib1g-dev.deb。安装完以上两个包,查看“Status”字段是否显示“install ok installed”(表示成功)。经上述实践问题被解决,pip安装成功,程序正常运行。
2025-02-06 16:59:01
757
原创 关于torch.cuda.is_available()返回False
一、检查GPU型号;二、检查GPU是否支持CUDA;三、检查驱动版本(Driver Version)是否和CUDA Toolkit版本(CUDA Version)匹配
2023-12-04 11:51:50
2400
原创 策略演示元素“ForceInstantDimDropDown“(位于引用的演示“ForceInstantDim“中)不存在。
我的系统版本是win11家庭版,没有组策略编辑器,所以用脚本添加,可能是脚本有点老,加上系统又更新了,于是出现以下提示:又运行了脚本:@echo offpause。
2023-10-23 14:17:46
2092
9
原创 DRL深度强化学习代码实战1——MountainCar-v0小车成功登顶
DRL代码实战1——如果你是刚刚接触DRL的同学,那么本文的内容就是引你入胜的第一个小实验。DRL的学习离不开理论知识,但更不能缺少代码实践!
2023-05-12 11:34:13
3291
2
原创 jupyter notebook不成功?关于conda install nb_conda会出现Solving environment等提示的解答
使用conda install nb_conda命令行在anaconda其他新建环境中安装jupyter notebook可能会出现Solving environment等提示,可能是由于你的python版本比较新(像是3.9)。那么这时候可以使用命令行pip install notebook来安装jupyter notebook。
2023-01-03 11:25:16
9137
10
原创 Anaconda+PyCharm+PyTorch+Gym深度强化学习环境搭建 送新手直接送进炼丹炉
Anaconda+PyCharm+PyTorch+Gym强化学习环境搭建流程,新手强化学习炼丹炉入口。
2022-10-16 10:42:13
24230
17
原创 gym包更新升级到0.26.2版本后炼丹炉的测试代码
关于gym包升级后炼丹炉测试代码的修改,针对由于包升级造成的无法弹出pygame窗口的问题
2022-10-16 10:31:52
11133
15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅