python教程技术文章
-
@runtime_checkable 让 Protocol 可用于 isinstance,但运行时只检查成员是否存在,不验证参数、返回值或属性类型。本文拆解静态类型域与运行时结构域,并给出 callable、签名、适配器和业务契约的分层补强方法。410 收藏 -
文章 · python教程 | 3星期前 | 标准库 · python · 数据处理 · 问题排查 · collections.Counter 库存扣减 Python Counter.subtract 缺失项目 负计数
Counter.subtract 会保留零值和负值,真正判断缺失项目不能只看扣减结果。本文用库存与需求示例区分原始不存在、数量不足和恰好用完,并给出可复用的诊断函数。410 收藏 -
文章 · python教程 | 2星期前 | 异步编程 · Python教程 · asyncio · Python 清理 asyncio CancelledError TaskGroup Task.cancel
Python asyncio 任务取消时,CancelledError 会在下一个可挂起点进入协程。本文用 try/finally 组织资源清理,说明 gather、TaskGroup、timeout 的收尾边界,以及为什么通常要重新抛出取消异常。410 收藏 -
文章 · python教程 | 2个月前 | 资源管理 · python · 异步编程 · Python contextlib.aclosing 异步资源清理 aclose async generator
contextlib.aclosing 用异步上下文管理器把 aclose() 纳入 async with 的退出阶段,适合异步生成器和带异步清理方法的资源。本文从一个流式读取场景拆解退出顺序、异常传播和可回归的测试验收。408 收藏 -
文章 · python教程 | 3星期前 | 异常处理 · 异步编程 · Python教程 · asyncio · 后台任务 任务取消 CancelledError Python asyncio asyncio.shield
asyncio.shield 能阻断外层取消向内部 Task 传播,但调用方仍会收到 CancelledError。本文用强引用、完成回调和有限等待窗口整理可控的后台收尾写法,并说明 shield 的失效边界。407 收藏 -
Polars的read_csv会直接读取并返回DataFrame,scan_csv先返回LazyFrame,把过滤和列选择组成查询后再collect执行。本文从返回对象、执行时机、下推优化和调用场景说明两者的选择边界。407 收藏 -
用 Python tempfile.NamedTemporaryFile 创建带可见路径的临时文件,说明 delete、delete_on_close、with 清理和 Windows 重新打开的边界。407 收藏 -
Python argparse.BooleanOptionalAction 可以从一个布尔参数声明自动生成 --feature 与 --no-feature 两个开关。本文结合命令行配置的实际取舍,说明默认值、显式传参、帮助信息和旧版本兼容边界。407 收藏 -
Python 3.14 把 Zstandard 支持带进标准库。本文用同一份数据对比内存压缩、文件读写和解压核对,说明压缩级别、可选模块与旧版本兼容边界。406 收藏 -
Python 3.13 起不再提供 aifc。需要读取 AIFF 并进入 NumPy 数组时选 soundfile,需要多格式转码时选 FFmpeg,需要短脚本剪切拼接时可用 pydub,但它仍依赖 FFmpeg。本文按任务边界、依赖、耗时和内存指标给出迁移选择。404 收藏 -
讲清 Python asyncio.timeout 如何通过 Timeout.reschedule 动态缩短、延长或取消截止时间,并说明绝对时钟、TimeoutError 捕获位置及 expired 状态检查。403 收藏 -
使用 Python pathlib.Path.walk 遍历目录时,可在 top_down=True 模式下原地修改 dirnames,直接阻止指定子树继续下探。本文给出按名称和相对路径裁剪、错误处理、符号链接防环及验收方法。401 收藏 -
Python Fraction.limit_denominator 可把测量读数近似为小分母分数。本文说明文本与浮点输入差别,给出分母上限和绝对误差容限的独立判断示例,并区分固定分母网格与有理数近似。401 收藏 -
文章 · python教程 | 2星期前 | 线程池 · 异常处理 · 并发编程 · Python教程 · Python threadpoolexecutor future add_done_callback 线程任务结果
Python concurrent.futures 的 Future 可以通过 add_done_callback 注册完成回调。本文用线程池批量任务说明如何区分成功、取消和异常,如何把完成结果安全投递到汇总容器,以及为什么不能把回调触发顺序当成任务提交顺序。400 收藏 -
用 multiprocessing.shared_memory 让多个 Python 进程直接访问同一块缓冲区,重点处理 create、attach、close、unlink 的生命周期,以及命名冲突和释放验收。399 收藏