python教程技术文章
-
Python 3.14 为 argparse 增加 suggest_on_error,可在 choices 或子命令拼写错误时给出相近提示。本文用一个备份命令行工具演示如何开启、如何兼容 Python 3.13 及更早版本,以及为什么它不能替代参数语义校验。180 收藏 -
Python 3.14 为 argparse 增加 suggest_on_error,可在 choices 或子命令拼写错误时给出相近提示。本文用一个备份命令行工具演示如何开启、如何兼容 Python 3.13 及更早版本,以及为什么它不能替代参数语义校验。386 收藏 -
文章 · python教程 | 4天前 | 反射 · python · 兼容性 · 类型检查 · 类型注解 · format Python 3.14 annotationlib get_annotations ForwardRef 延迟注解
Python 3.14 新增 annotationlib,为读取延迟求值的类型注解提供 VALUE、FORWARDREF 和 STRING 三种格式。本文用插件注册器场景说明三种结果如何选择、未定义前向引用怎样保留,以及为什么生产代码不应随意求值注解,并给出旧版本兼容路径。425 收藏 -
文章 · python教程 | 4天前 | 反射 · python · 兼容性 · 类型检查 · 类型注解 · format Python 3.14 annotationlib get_annotations ForwardRef 延迟注解
Python 3.14 新增 annotationlib,为读取延迟求值的类型注解提供 VALUE、FORWARDREF 和 STRING 三种格式。本文用插件注册器场景说明三种结果如何选择、未定义前向引用怎样保留,以及为什么生产代码不应随意求值注解,并给出旧版本兼容路径。491 收藏 -
Python 3.14 新增的多解释器线程池能让多个独立解释器在同一进程中并行处理 CPU 密集任务,但它不共享可变对象。本文用一个可验收的小实验检查参数序列化、解释器隔离、异常回收和退出边界,帮助你判断它是否适合现有 Python 服务。308 收藏 -
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教程 | 1星期前 | 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 收藏