- 博客(131)
- 资源 (6)
- 收藏
- 关注
原创 基于Pandas库封装Excel工具类
在Python中,我们可以使用pandas库来读写和处理Excel文件。但是,为了更方便和快速地操作Excel文件,我们可以封装一个Excel工具类,提供常用的读写操作方法,以提高开发效率。
2025-02-25 16:16:34
471
原创 基于Pydantic封装的通用模型在API请求验证中的应用
Pydantic 是一个用于数据验证和解析的流行库,经常被用于 FastAPI 和其他现代 Python 项目中。在处理 API 请求时,我们经常需要对请求参数进行有效性检查,例如日期范围、分页和排序等。在本文中,我们将介绍如何在 Pydantic 中使用 Mixin 和组合模式来实现这些功能,并讨论它们的优缺点。
2025-02-25 16:05:33
19
原创 Python工厂模式封装Webhook群聊机器人
企业存在给 特定群组 自动推送消息的需求,比如:监控报警推送、销售线索推送、运营内容推送等。 你可以在群聊中添加一个自定义机器人,通过服务端调用 webhook 地址,即可将外部系统的通知消息即时推送到群聊中。
2025-02-25 15:58:35
49
原创 FastAPI高级特性(二):错误处理、中间件与应用生命周期
FastAPI 内置了丰富的高级特性,使得开发者可以快速组织和封装各种功能。在本篇博客中,我们将深入探讨 FastAPI 的一些高级特性,包括错误处理、中间件和应用生命周期
2025-02-25 15:54:10
228
原创 FastAPI 高级特性:同异步路由函数、依赖注入与后台任务
在现代 Web 开发中,高效的性能和简洁的代码结构是至关重要的。FastAPI 作为一个现代、快速(高性能)的 Web 框架,凭借其对异步编程的原生支持和直观的依赖注入系统,迅速成为开发者的热门选择。在本文中,将深入探讨 `FastAPI` 中的几个核心概念:同异步函数的区别、`Depends` 依赖以及后台任务。
2025-02-24 14:52:38
42
原创 FastAPI Cookie - 注册登陆小DEMO
HTTP协议本身是无状态的,意味着它并不保留关于用户或会话的持久信息。在HTTP请求的往返过程中,服务器无法直接识别出是哪个具体用户发起的请求。为了解决这个问题,并在多个请求之间维持用户的身份和状态,引入了cookie这一机制。Cookie通过在客户端(如浏览器)存储小段数据,并在后续的HTTP请求中将这些数据发送给服务器,从而间接地让HTTP请求信息中包含了用户的状态信息。这种方式允许服务器识别出是哪个用户发起的请求,并据此提供个性化的服务或保持会话的连续性。本文主要讲述 在FastAPI如何设置。
2025-02-24 14:43:23
25
原创 Python 虚拟环境的使用
一、使用虚拟环境不会让主解释器好多库乱二、例如在单独的虚拟环境下安装 Flask,就知道在后续开发中所使用的所有库,用pip freeze命令就知道你的项目需要什么环境,而在主解释器有好多项目没用到的库。使用虚拟环境到部署到服务器上则方便环境配置,不需要一个一个筛选所需库。在虚拟环境中利用pip freeze查看项目所需库环境。导出项目所需库信息。批量安装项目所需库。三、在同一台机器上开发多个项目,而遇到项目所需同一库的版本不一致。因此使用虚拟环境让每个项目独立隔离出来,可以单独使用不同版本库。
2025-02-24 14:34:08
19
原创 FastAPI 请求响应处理
FastAPI响应处理,普通字符串Plain Text、Json数据、字节流、重定向、以及使用pydantic的模型类来处理响应。
2025-02-24 14:17:45
57
原创 FastAPI请求参数处理
FastAPI通过声明参数、Depends注入、Pydantic模型验证等方式,提供了非常便捷的请求参数处理机制。各种参数形式也都得到了很好的支持。使用pydantic的BaseModel传递组织参数,相比其他框架使用字典来组织,代码更清晰、更好维护。
2025-02-24 14:06:17
538
原创 与go比肩的FastAPI,如何快速入门
介绍了 FastAPI 框架,包括其特点(如高性能、快速编码、少错误、直观易学等)、优势(如自动生成接口文档、暴露内置入口等)、快速上手步骤(新建项目、准备依赖文件、编写运行代码等)以及将接口文档导入 APIFOX 的方法和相关操作,还提到分模块组织接口可用 APIRouter 。
2025-02-24 11:54:13
202
原创 同步、异步无障碍:Python异步装饰器指南
Python异步开发已经非常流行了,一些主流的组件像MySQL、Redis、RabbitMQ等都提供了异步的客户端,再处理耗时的时候不会堵塞住主线程,不但可以提高并发能力,也能减少多线程带来的cpu上下文切换以及内存资源消耗。但在业务开发的时候一些第三方库没有异步的处理方式,例如OSS、CV、其他第三方提供的SDK以及自己封装的函数有耗时等,此时还是需要借助线程来加速,再异步中就不会堵塞主线程,因此封装一个异步装饰器可以更好的处理异步,让代码更简洁。看输出结果可以发现在同步函数使用直接使用线程池。
2024-04-29 14:10:04
1169
原创 Python异步Redis客户端与通用缓存装饰器
通过 redis-py 简易封装一个异步的Redis客户端,然后主要讲解设计一个支持各种缓存代理(本地内存、Redis等)的缓存装饰器,用于在减少一些不必要的计算、存储层的查询、网络IO等。
2024-04-29 14:02:53
1333
原创 SQLAIchemy 异步DBManager封装-03得心应手
SQLAIchemyManager 设计用于初始化数据库配置信息BaseOrmTable、TimestampColumns、BaseOrmTableWithTS 设计通用库表映射类,一些主键id,时间戳字段让子类继承共享,以及 to_dict 方法将对象属性转成字典transaction 上下文管理器(事务会话)便捷的进行事务处理with_session 装饰器复用开启事务会话 session 操作,减少冗余代码,没有 session 则动态的构造 session,兼容整体事务会话。
2024-04-17 14:53:08
1534
1
原创 SQLAIchemy 异步DBManager封装-02熟悉掌握
在上一篇文章中我们深入讨论了SQLAlchemy异步DBManager整体的封装结构与思路。详细地介绍了如何封装添加和批量添加的操作方法,并通过实际示例进行了演示。SQL 全称是结构化查询语言,无疑查询是最复杂的部分。因此,在这篇文章中,我将详细介绍如何封装通用的数据库查询方法,并通过具体的示例来讲解这一过程,使得这一复杂的任务变得更为简单。
2024-04-17 14:51:30
1281
原创 SQLAIchemy 异步DBManager封装-01入门理解
SQLAlchemy 是一个强大的 Python SQL 工具包和对象关系映射(ORM)系统,是业内比较流行的ORM,设计非常优雅。随着其2.0版本的发布,SQLAlchemy 引入了原生的异步支持,这极大地增强了其在处理高并发和异步I/O场景下的能力。通过结合像greenlet、gevent这样的协程库,SQLAlchemy 使得异步数据库操作成为可能,从而提高了应用程序的性能和响应速度。
2024-04-17 14:47:50
1637
1
原创 同步、异步无障碍:Python异步装饰器指南
Python异步开发已经非常流行了,一些主流的组件像MySQL、Redis、RabbitMQ等都提供了异步的客户端,再处理耗时的时候不会堵塞住主线程,不但可以提高并发能力,也能减少多线程带来的cpu上下文切换以及内存资源消耗。但在业务开发的时候一些第三方库没有异步的处理方式,例如OSS、CV、其他第三方提供的SDK以及自己封装的函数有耗时等,此时还是需要借助线程来加速,再异步中就不会堵塞主线程,因此封装一个异步装饰器可以更好的处理异步,让代码更简洁。
2023-09-28 18:54:48
730
原创 Python 同、异步HTTP客户端封装:性能与简洁性的较量
引入异步编程趋势:Python的异步编程正变得越来越流行。在过去,同步的HTTP请求已经不足以满足对性能的要求。异步HTTP客户端库的流行:目前,有许多第三方库已经实现了异步HTTP客户端,如aiohttp和httpx等。然而,异步语法使得代码变得更加冗长,导致缩进增多,降低了代码的可读性和简洁性。封装异步HTTP客户端:为了简化异步HTTP请求的代码,我们需要封装一个常用的HTTP客户端,以实现业务中常见的功能,并提供更简洁的接口。在这篇博客中,我将使用aiohttp库来进行封装异步客户端。
2023-09-28 18:45:06
667
原创 Python异步框架大战:FastAPI、Sanic、Tornado VS Go 的 Gin
异步编程在构建高性能 Web 应用中起着关键作用,而 FastAPI、Sanic、Tornado 都声称具有卓越的性能。本文将通过性能压测对这些框架与Go的Gin框架进行全面对比,揭示它们之间的差异。
2023-09-26 18:01:11
4182
4
原创 教你Github首页如何展示贪吃蛇动画
创建一个跟自己名称相同的Github项目,这是一个特殊的个人简介项目,用户访问你的github首页时则会展示这个项目的 REAME.md 文档里内容。
2023-09-26 17:48:00
712
原创 Python 常用小妙招(二)
本文记录一些 Python 日常编程中的小妙招,并使用 IPython 进行交互测试,让我们更好的了解和学习 Python 的一些特性。格式化打印调式信息In [3]: print('success'.center(20,'='))======success=======In [4]: print('failed'.center(20,'='))=======failed=======for循环的else语法:for 变量 in 可迭代对象: 循环体 .
2021-10-29 22:21:22
258
原创 Python 对象序列化
将对象的状态信息转换为可以存储或传输的形式的过程叫作序列化类似地从序列化后的数据转换成相对应的对象叫作 反序列化本文介绍 Python 将对象序列化和反序化的两个模块picklejson
2021-09-29 09:46:00
661
原创 Python 常用小妙招(一)
本文记录一些 Python 日常编程中的小妙招,并使用 IPython 进行交互测试,让我们更好的了解和学习 Python 的一些特性。
2021-09-27 13:23:24
1335
2
原创 Django 统一异常处理
在项目中统一异常处理,可以防止代码中有未捕获的异常出现。本文介绍如何在 Django 项目中进行统一异常的处理,再结合状态码枚举类对项目异常信息进行日志记录。
2021-09-26 00:27:52
2949
1
原创 巧用Python 枚举类设计状态码信息
在 `web` 项目中,我们经常使用自定义状态码来告知请求方请求结果以及请求状态;在 `Python` 中该如何设计自定义的状态码信息呢?
2021-09-24 15:35:54
1587
2
原创 Python 字典 — dict
dict(字典) 是 除列表以外 Python 之中 最灵活 的数据类型字典同样可以用来 存储多个数据通常用于存储 描述一个 物体 的相关信息
2021-08-06 20:10:08
1265
原创 Python 中的字符串 — str
现实生活中文字随处可见,编程语言中则用字符串来表示,字符串是Python中最常用的数据类型。想想在没有图形化界面的时代,几乎都是对字符串和数字的处理,衍生到后来的网页、Windows应用程序等都能看到对字符串的操作。还有每个国家都有不同的语言,而字符串有不同的字符串编码来表示。越容易小瞧的反而越重要
2021-06-15 23:45:41
1558
3
原创 Python 函数
所谓函数,就是把 具有独立功能的代码块 组织为一个小模块,在需要的时候 调用函数的作用: 在开发程序时,使用函数可以提高编写的效率以及代码的 重用
2021-06-14 11:21:46
336
原创 一篇带你参透 Python 循环
在 Python 语法中有两类循环while 循环for 循环并介绍关键字 continue 和 break 在循环中的作用。
2021-06-11 16:22:14
841
3
原创 Python 基础知识点汇总
整理一些 Python基础入门教程,让Python小白可以了解Python起源、熟悉Python解释器,编辑器安装下载、知道一些PyCharm常用配置及快捷命令,并介绍一些Python基础语法,最后多个Python实战小例子带你熟悉 Python 程序设计。
2021-06-08 23:51:08
402
原创 Python 变量的命名规范
混乱或错误的命名不仅让我们对代码难以理解,更糟糕的是,会误导我们的思维,导致对代码的理解完全错误。相反,良好的命名,则可以让我们的代码非常容易读懂,也能向读者正确表达事物以及逻辑的本质,从而使得代码的可维护性就大大增强。
2021-06-08 09:51:28
1519
Python、PyGame游戏项目(英语四级英文打字游戏)
2020-10-14
C语言实现顺序栈.c
2020-06-22
C语言实现单链表(常规操作)
2020-06-19
C语言实现线性表的顺序表示的源码文件
2020-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人