python教程技术文章
-
Python 3.14 新增的多解释器线程池能让多个独立解释器在同一进程中并行处理 CPU 密集任务,但它不共享可变对象。本文用一个可验收的小实验检查参数序列化、解释器隔离、异常回收和退出边界,帮助你判断它是否适合现有 Python 服务。157 收藏 -
Python 的 eager_task_factory 会让协程在任务创建阶段先运行,遇到阻塞才回到事件循环。本文用同步完成、真实等待和同步异常三条路径说明迁移验收与兼容边界。103 收藏 -
Python 3.14 的 asyncio.eager_task_factory 可以让同步完成的协程绕过事件循环调度,但它会改变执行时机和任务顺序。本文用缓存命中与真实等待两类协程说明启用方式、性能验证和回归边界。306 收藏 -
Python 3.14 将 Zstandard 纳入标准库。本文从压缩单块数据开始,逐步验证流式写入、zipfile/tarfile 归档和旧版本兼容边界,给出可直接运行的检查方法。367 收藏 -
Python 3.14 将 Zstandard 纳入标准库。本文从压缩单块数据开始,逐步验证流式写入、zipfile/tarfile 归档和旧版本兼容边界,给出可直接运行的检查方法。363 收藏 -
Python 3.12 引入的 pathlib.Path.walk 适合做目录统计、缓存清理和文件审计。本文用一个临时目录清理任务讲清 top_down、dirnames 剪枝、on_error 与符号链接边界,并给出兼容旧版本的选择。135 收藏 -
文章 · python教程 | 3星期前 | protocol · Python教程 · 运行时 · typing · 类型检查 · Python 静态类型 typing.Protocol runtime_checkable 结构化类型 isinstance
Python 的 Protocol 主要服务于静态类型检查,runtime_checkable 只把接口成员是否存在带到 isinstance;它不会验证参数、返回值或属性类型。本文用可运行示例拆开两条边界,并给出适合生产代码的检查方式。295 收藏 -
asyncio.to_thread 能让事件循环避开同步阻塞函数,但它不会把 CPU 密集型代码变成真正并行。文章用一个可运行实验拆开线程池容量、取消语义、异常传递和优雅停机边界,给出上线前的检查清单。291 收藏 -
Python 用 functools.lru_cache 缓存配置读取函数后,配置文件已经更新,接口却还返回旧值。问题通常不在文件读取,而在缓存键和清理时机。本文从一个可复现的小场景出发,说明 cache_clear、参数设计和并发刷新时需要核对的边界。339 收藏 -
Python 异步接口用 asyncio.wait_for 设置超时后,日志里却还能看到后台任务继续运行,通常不是 wait_for 失效,而是任务引用、shield 或 finally 清理边界没有处理好。本文用可复现代码拆开超时取消语义,并给出资源回收和验证方法。158 收藏 -
支付对账中出现 0.01 元差异时,先排除二进制浮点输入,再用 Decimal.quantize 和 ROUND_HALF_UP 固定金额舍入规则。本文从复现、定位到回归验证给出一套可运行的 Python 排查方案。374 收藏 -
Python multiprocessing.Pool 在服务停机时如果没有区分 close、terminate 和 join,主进程可能已经退出流程,子进程却仍然占着资源。本文用批处理场景复现停机卡住、按顺序解释三个方法的职责,并给出异常、超时和回滚检查清单。133 收藏 -
Python 服务把日志直接写入网络或磁盘时,慢 I/O 会反过来拖住请求线程。本文用 logging.QueueHandler 和 QueueListener 拆开产生日志与写日志,说明队列满载、异常处理和停机收尾的边界。322 收藏 -
Python sqlite3 事务回滚经常不是数据库坏了,而是连接的 autocommit、旧式 isolation_level 与 with 代码块边界没有对齐。用一个可复现实验看清提交、回滚和异常传播。136 收藏 -
Python 调用外部命令超时后,杀掉父进程并不代表子进程和孙进程都结束。本文用 start_new_session 创建独立进程组,再按 TERM、等待、KILL 的顺序清理,并补上超时、权限和回归检查。496 收藏