Python开发
文章平均质量分 92
内容来自日常实战、书籍《FastAPI Cookbook Develop high-performance APIs and web applications with Python (Giunio De Luca)》《Fluent Python》《Using Asyncio in Python》等
simon_skywalker
职场打工人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LangGraph(一) 相关概念与简单使用
LangGraph是一个为构建长时间运行的有状态工作流和智能体提供底层支持的框架。它将智能体定义为由节点和边组成的图结构,支持持久化执行、故障恢复和人工干预。核心优势包括全面的记忆管理机制(短期工作记忆和长期记忆)、与LangSmith集成的调试能力,以及生产级的可扩展部署架构。LangGraph不对提示词或架构进行抽象,保持高度灵活性,同时提供状态管理、条件路由和工具调用等关键功能,使开发者能构建复杂、可靠的AI智能体系统。原创 2026-01-13 16:23:17 · 714 阅读 · 0 评论 -
LangGraph(二)具体案例设计
该案例使用 LangGraph 构建了一个处理客户支持邮件的智能体,将流程拆解为读取邮件、分类意图、文档搜索、缺陷追踪、起草回复、人工审核和发送回复等节点,通过共享状态传递原始数据,并结合 LLM、外部工具与人工干预,实现自动分类、响应生成与复杂问题升级,同时支持错误处理与断点续传。原创 2026-01-14 13:59:02 · 856 阅读 · 0 评论 -
《Fluent Python》第十三章 接口 协议和抽象基类
本章阐述了Python中接口编程的四种类型实现方式:鸭子类型(运行时结构)、大鹅类型(运行时名义,基于ABC)、静态鸭子类型(静态结构,基于Protocol)和静态类型(静态名义)。重点对比了动态协议与静态协议、结构类型与名义类型的差异,并通过序列协议、Tombola抽象基类及typing.Protocol等示例,说明如何在保持灵活性的同时实现接口契约与类型安全。原创 2025-10-16 11:15:46 · 338 阅读 · 0 评论 -
《Fluent Python》第十二章 序列的特殊方法
本章围绕实现一个支持高维向量的 `Vector` 类,通过组合模式使用 `array` 存储数据,完整实现了不可变扁平序列所需的特殊方法(如 `__len__`、`__getitem__`、切片、动态属性访问 `x/y/z/t`、哈希与高效等值比较、格式化输出等),并深入探讨了 Python 的协议、鸭子类型、惰性计算与内存优化等核心概念。原创 2025-10-15 17:04:15 · 586 阅读 · 0 评论 -
《Fluent Python》第十一章 符合 Python 风格的对象
本章通过实现 `Vector2d` 类,系统讲解了如何编写符合 Python 风格的对象:包括自定义 `__repr__`、`__str__`、`__bytes__`、`__format__` 等表示方法,使用 `@classmethod` 实现备选构造函数,通过 `@property` 和双下划线实现只读与“私有”属性,添加 `__hash__` 使其可哈希,利用 `__slots__` 节省内存,并支持模式匹配与类属性覆盖。所有设计均基于 Python 数据模型和鸭子类型,强调自然、一致的接口行为。原创 2025-10-15 11:45:47 · 954 阅读 · 0 评论 -
《Fluent Python》第十章 使用头等函数的设计模式
在Python中,头等函数为经典设计模式提供了更简洁、灵活的实现方式。策略模式无需定义抽象基类和多个子类,每个策略可直接写成独立函数,并通过`@promotion`装饰器自动注册到全局列表,实现“定义即可用”,避免手动维护策略集合的疏漏。命令模式同样可被函数或可调用对象替代——普通函数天然具备执行能力,复杂场景则借助实现`__call__`的类或闭包保存状态,甚至支持撤销操作。这种函数式重构不仅减少了样板代码,还提升了代码的可读性与可测试性,充分体现了Python“用简单方式解决复杂问题”的哲学。原创 2025-10-15 10:27:18 · 808 阅读 · 0 评论 -
《Fluent Python》第九章 装饰器与闭包
本章深入讲解了Python装饰器与闭包的核心机制:装饰器是接收函数并返回新函数的可调用对象,常用于日志、缓存等横切逻辑;闭包则通过嵌套函数捕获外层变量,实现状态保持。重点包括变量作用域规则、`nonlocal`声明的使用、带参数装饰器的三层结构,以及`functools.wraps`、`@lru_cache`和`@singledispatch`等标准库工具的应用。原创 2025-10-14 17:06:20 · 657 阅读 · 0 评论 -
《Fluent Python》第八章 函数中的类型提示
类型提示是Python可选的静态分析工具,不影响运行时行为。它通过注解提升代码可读性与安全性,支持泛型、Union、Protocol等机制,兼容鸭子类型与名义类型。合理使用抽象基类、TypeVar和协议,可在保持灵活性的同时实现精准类型检查。原创 2025-10-14 10:49:21 · 484 阅读 · 0 评论 -
《Fluent Python》第七章 函数是一等对象
本章阐述了Python中函数作为一等对象的特性,支持赋值、传参和返回。介绍了高阶函数、匿名函数(lambda)、可调用对象(含`__call__`)及灵活的参数机制(仅限位置/关键字参数)。并通过`operator`模块和`functools.partial`展示了函数式编程的实用技巧,强调用列表推导式替代`map`/`filter`以提升可读性。原创 2025-10-13 15:43:14 · 282 阅读 · 0 评论 -
《Fluent Python》第六章 对象引用、可变性和垃圾回收
本文阐述了Python中对象引用的本质,强调变量是对象的“标签”而非“盒子”,深入讲解了身份(`is`)与相等性(`==`)的区别、浅复制与深复制的差异,并警示了可变对象作为默认参数和直接绑定外部可变参数带来的副作用。同时说明`del`仅删除引用,对象回收由垃圾回收机制自动处理。原创 2025-10-09 09:10:09 · 1004 阅读 · 0 评论 -
《Fluent Python》第五章 数据类构建器
Python 提供三种数据类构建器:`collections.namedtuple`、`typing.NamedTuple` 和 `@dataclass`。前两者创建不可变的 tuple 子类,支持字段命名和类型注解;`@dataclass` 创建可变(或冻结)的普通类,功能更灵活,支持默认值、字段选项及初始化后处理。三者均通过元编程自动注入常用方法,提升代码简洁性与可读性,适用于构建轻量级数据容器。原创 2025-10-08 10:07:18 · 697 阅读 · 0 评论 -
《Fluent Python》第四章 Unicode 文本和字节序列
本文系统阐述了 Python 3 中 Unicode 文本与字节序列的核心概念与实践原则。强调了 Unicode 码位与编码(如 UTF-8、UTF-16)的区别,明确了 str 与 bytes 的转换机制及常见错误(如 UnicodeEncodeError 和 SyntaxError)。通过“三明治原则”指导开发者在输入端尽早解码、中间层纯文本处理、输出端延迟编码,以避免乱码。同时介绍了文本规范化(NFC/NFD)、排序(locale、pyuca)、编码检测及 BOM 处理等高级话题。原创 2025-10-07 12:23:37 · 1044 阅读 · 0 评论 -
《Fluent Python》第三章 字典与集合
本章系统讲解了Python中字典与集合的核心机制与高级用法。二者均基于哈希表实现,要求键或元素必须可哈希,从而保障O(1)平均查找性能。内容涵盖现代字典操作(推导式、解包、合并、模式匹配)、映射API标准化(ABC、UserDict优势)、缺失键处理(defaultdict、__missing__)、特殊映射类型(OrderedDict、ChainMap、Counter)及不可变视图(MappingProxyType)。同时介绍了字典视图的动态特性、集合的去重与运算功能,以及底层实现对内存和性能的实际影响,原创 2025-09-30 11:10:57 · 781 阅读 · 0 评论 -
《Fluent Python》第二章 数组与序列
Python 的序列类型可分为容器序列(如 list、tuple,可包含任意对象引用)和扁平序列(如 str、bytes、array.array,直接存储原始值),后者内存更紧凑、类似 C 数组;结合列表推导式、生成器表达式、解包、模式匹配、切片等特性,Python 提供了高效且优雅的序列处理方式,而在处理大量同类型数据时,使用 array、memoryview 或 NumPy 等工具能显著提升性能与内存效率。原创 2025-09-25 16:41:24 · 979 阅读 · 0 评论 -
《Fluent Python》第一章 python数据模型
第一章系统地阐述了Python数据模型的核心概念,通过`FrenchDeck`和`Vector`等实例,展示了如何利用特殊方法(如`__len__`、`__getitem__`、`__repr__`)让自定义对象无缝集成到Python语言中,表现出与内置类型一致的行为。它强调了“鸭子类型”和协议的重要性:只要实现特定的特殊方法,对象就能被当作序列、可迭代对象等来使用,无需复杂的继承。原创 2025-09-23 14:27:25 · 732 阅读 · 0 评论 -
FastAPI实战笔记(九) WebSocket
本章介绍了 WebSocket 在 FastAPI 中的使用,包括基础连接、聊天室实现、连接管理、前端交互、性能测试及 OAuth2 安全认证。通过 `ConnectionManager` 管理多用户连接并广播消息,结合 Jinja2 模板渲染聊天页面,利用 WebSocket 实现低延迟双向通信。还展示了如何在 WebSocket 握手时验证 Bearer Token,并提供了 PowerShell 和 Linux 常用网络调试命令。原创 2026-01-12 09:43:36 · 870 阅读 · 0 评论 -
FastAPI实战笔记(八) 依赖注入、中间件、速率限制
本章深入探讨了FastAPI的高级特性。核心内容包括:依赖注入系统,通过Depends和Annotated实现参数校验(如日期范围、路径枚举)和逻辑复用(如优惠券验证);中间件机制,用于请求/响应拦截(如客户端信息记录)和性能监控(集成pyinstrument生成火焰图);性能优化实践,重点分析同步阻塞对异步事件循环的影响;速率限制(slowapi)保护API免受滥用;国际化(Babel库)动态适配多语言内容;以及后台任务(BackgroundTasks)异步处理耗时操作(如日志记录),确保响应即时性。原创 2026-01-10 14:33:52 · 996 阅读 · 0 评论 -
FastAPI实战笔记(七)集成 NoSQL数据库
本章展示了在 FastAPI 项目中集成 MongoDB、Elasticsearch 和 Redis 三大 NoSQL 数据库的完整实践。通过异步客户端实现数据库连接与健康检查,在 lifespan 生命周期中初始化索引和缓存。利用 MongoDB 的灵活文档模型支持动态字段与嵌入/引用关系,结合聚合管道创建脱敏视图以保障数据安全。借助 Elasticsearch 实现高性能全文检索与聚合分析,并通过 Redis 缓存热门查询结果提升响应速度。原创 2026-01-09 10:31:50 · 1032 阅读 · 0 评论 -
FastAPI实战笔记(六)集成SQL数据库
本部分介绍了基于 SQLAlchemy ORM 的异步数据库集成方案,涵盖模型定义、关系映射、FastAPI 端点对接、CRUD 操作实现、Alembic 数据库迁移管理,以及使用 Fernet 对信用卡敏感信息进行加密存储与解密读取,确保数据安全与系统可维护性。原创 2025-12-31 15:33:18 · 585 阅读 · 0 评论 -
FastAPI实战笔记(五)测试
本章详解了FastAPI应用的测试与调试全流程:通过pytest搭建隔离测试环境,使用内存数据库和依赖注入覆盖确保测试纯净;实现结构化日志系统监控API调用;应用PDB、VS Code和PyCharm等多种调试技术精准定位问题;利用Locust进行高流量性能测试。这些实践显著提升应用可靠性、健壮性与可维护性,为开发高质量API奠定坚实基础。原创 2025-12-30 11:39:51 · 958 阅读 · 0 评论 -
FastAPI实战笔记(四) 认证与授权
这主要是一个笔记项目,描述了多种认证与授权方法,实际主要使用JWT。saas_app项目基于FastAPI构建,采用模块化架构实现用户认证与授权。系统支持JWT令牌、多因素认证(MFA)、API密钥及GitHub第三方登录等多种认证方式,并通过RBAC实现基于角色(basic/premium)的访问控制。数据持久化使用SQLite,结合SQLAlchemy ORM和依赖注入管理数据库会话,确保安全、高效、可扩展的SaaS用户管理。原创 2025-12-29 15:13:59 · 689 阅读 · 0 评论 -
FastAPI实战笔记(三) RESTful API构建
本文介绍了使用FastAPI构建RESTful API的完整实践,包含:Pydantic模型定义、基于OAuth2的安全认证、CSV数据库操作、API版本控制、以及完整的测试策略。通过模块化设计实现了任务管理的核心功能,并采用依赖注入和测试夹具确保代码质量和安全性。原创 2025-12-28 19:31:09 · 603 阅读 · 0 评论 -
FastAPI实战笔记(二) 数据处理
该内容介绍了FastAPI的数据处理实践,涵盖SQLAlchemy和MongoDB两种数据库操作,包括模型定义、CRUD操作和数据验证。展示了文件上传下载功能和异步数据处理机制,对比了同步异步端点的性能差异。最后强调了数据保护的安全实践,包括数据验证、访问控制、安全通信和数据库安全等核心安全原则。原创 2025-12-27 11:11:45 · 397 阅读 · 0 评论 -
FastAPI实战笔记(一) 基本介绍与简单操作
介绍了 FastAPI 项目结构、RESTful 路由规范(如使用 /books/{id})、路径与查询参数用法、Pydantic 模型验证(含字段约束和请求/响应模型分离)以及 HTTP 和验证错误的自定义异常处理,旨在提升代码可维护性、安全性和 API 设计一致性。原创 2025-12-26 16:48:34 · 350 阅读 · 0 评论
分享