python教程技术文章
-
在批量导入和流式处理里,itertools.compress 可以按位置消费数据与布尔选择器,不必先构造完整列表。本文重点说明长度不一致时的停止边界、惰性迭代和选型取舍。265 收藏 -
sqlite3.Connection.backup 的 progress 回调会直接给出 remaining 和 total。本文用可复用记录器计算剩余页数、完成比例与单轮增量,并解释 pages、status、并发写入和进度回退边界。264 收藏 -
multiprocessing 进程池把任务送入子进程时,函数、参数和返回值都要跨进程传递。本文结合 Python 3.14 起的启动方式变化,解释不可序列化对象为什么暴露、哪些写法容易只在 fork 下工作,以及如何用模块顶层函数、数据描述和 initializer 重构稳定边界。255 收藏 -
文章 · python教程 | 6天前 | 并发 · 异常处理 · python · asyncio · CancelledError 结构化并发 ExceptionGroup Python asyncio TaskGroup asyncio gather
asyncio.TaskGroup 能在首个非取消异常出现时取消同组剩余任务,并在退出前等待全部任务收尾。本文给出最小写法、异常组处理和旧版本兼容方案。246 收藏 -
Python contextlib.ContextDecorator 让同一个上下文管理器同时支持 with 和函数装饰器。本文说明重复调用、__enter__ 返回值、__exit__ 异常传播和显式 with 的选择边界。242 收藏 -
解释 itertools.accumulate 为什么不会自动按标记重置,并给出先切分后累计、惰性生成器以及 groupby 配合累计的完整工作流。233 收藏 -
用一个长度前缀二进制报文示例,说明 Python memoryview 如何复用底层缓冲区、配合 struct.unpack_from 解析头部,并处理复制边界、可写性和生命周期。225 收藏 -
讲清 Python os.PathLike、__fspath__ 与 os.fspath 的职责,演示自定义路径对象如何兼容标准库和旧接口,并说明 str 强转、bytes 返回值与 TypeError 的边界。214 收藏 -
文章 · python教程 | 4天前 | 异常处理 · 并发编程 · 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教程 | 4天前 | 并发编程 · 工程实践 · 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 收藏