python教程技术文章
-
当函数既能自己创建资源,也能复用调用方传入的资源时,nullcontext 可以作为无操作上下文管理器,让同步 with 和异步 async with 各自保持单一入口。本文结合文件与 HTTP 会话示例,说明 enter_result、Python 版本、资源所有权和常见报错。316 收藏 -
文章 · python教程 | 14小时前 | 面向对象 · python · Python教程 · InitVar __post_init__ Python dataclass 派生字段 field(init=False)
Python dataclass 适合声明原始输入字段,再用 __post_init__ 在生成的 __init__ 完成后计算派生字段。本文从 field(init=False) 开始,说明 InitVar、继承、frozen、更新边界和 replace 的正确用法。303 收藏 -
sqlite3.Connection.backup 的 progress 回调会直接给出 remaining 和 total。本文用可复用记录器计算剩余页数、完成比例与单轮增量,并解释 pages、status、并发写入和进度回退边界。264 收藏 -
multiprocessing 进程池把任务送入子进程时,函数、参数和返回值都要跨进程传递。本文结合 Python 3.14 起的启动方式变化,解释不可序列化对象为什么暴露、哪些写法容易只在 fork 下工作,以及如何用模块顶层函数、数据描述和 initializer 重构稳定边界。255 收藏 -
用一个长度前缀二进制报文示例,说明 Python memoryview 如何复用底层缓冲区、配合 struct.unpack_from 解析头部,并处理复制边界、可写性和生命周期。225 收藏 -
讲清 Python os.PathLike、__fspath__ 与 os.fspath 的职责,演示自定义路径对象如何兼容标准库和旧接口,并说明 str 强转、bytes 返回值与 TypeError 的边界。214 收藏 -
文章 · python教程 | 2天前 | 异常处理 · 并发编程 · Python教程 · asyncio · asyncio 结构化并发 ExceptionGroup except* Python TaskGroup
TaskGroup 会在兄弟任务取消并完成收尾后,把非取消异常组合成 ExceptionGroup。本文演示 except* 分类处理、取消边界与 gather 的选择差异。208 收藏 -
讲清 Python contextvars 如何让每个 asyncio Task 持有独立上下文,并给出请求标识传递、Token 恢复和常见边界处理方法。202 收藏 -
用 TOMLDecodeError 的 msg、pos、lineno 和 colno 定位解析失败位置,再结合表头与错误行推断具体键,并处理 Python 版本差异。198 收藏 -
Python sqlite3 的 autocommit、isolation_level 和 Connection 上下文管理器并不是同一层机制。本文从数据持久化风险出发,说明三种事务模式的边界、异常回滚方式和可直接采用的连接写法。197 收藏 -
Python 3.15 把 frozendict 加入内置类型。本文从默认配置、运行时覆盖和缓存键三个场景出发,说明如何构造与合并不可变映射,并梳理浅不可变、哈希条件和 dict 类型判断的边界。192 收藏 -
文章 · python教程 | 2天前 | 并发编程 · 工程实践 · Python教程 · 多进程日志 QueueListener multiprocessing.Queue RotatingFileHandler Python QueueHandler
Python 多进程不能依赖多个 FileHandler 安全写入同一文件。本文用 multiprocessing.Queue、QueueHandler 和 QueueListener 建立单写入者结构,给出可复用完整示例,并说明轮转、队列容量、LogRecord 序列化、multiprocessing 内部日志与安全关闭顺序。186 收藏 -
Python logging 的 Formatter 不只是拼接字符串,还决定 LogRecord 如何变成稳定的结构化日志。本文用 extra、defaults 和自定义 Formatter 统一业务字段、异常信息与 JSON 输出。185 收藏 -
Python mmap 不会把整个映射一次复制进堆,但超大文件仍可能受虚拟地址空间限制。本文给出跨平台分段映射配方:对齐 offset、限定逻辑窗口、拼接跨窗记录、限制超长行,并正确处理空文件、提前停止和资源释放。146 收藏