python教程技术文章
-
在批量导入和流式处理里,itertools.compress 可以按位置消费数据与布尔选择器,不必先构造完整列表。本文重点说明长度不一致时的停止边界、惰性迭代和选型取舍。265 收藏 -
Python contextlib.ContextDecorator 让同一个上下文管理器同时支持 with 和函数装饰器。本文说明重复调用、__enter__ 返回值、__exit__ 异常传播和显式 with 的选择边界。242 收藏 -
typing.Protocol 可以围绕消费者需要描述可替换依赖。本文用两个标题查询实现说明小协议、显式注入与签名兼容,并区分静态检查、运行时成员检查和业务语义保障。236 收藏 -
解释 itertools.accumulate 为什么不会自动按标记重置,并给出先切分后累计、惰性生成器以及 groupby 配合累计的完整工作流。233 收藏 -
Pydantic 的多个字段联合约束,应按规则范围选择 model_validator 或 field_validator:模型级规则比较完整实例,字段级规则只读取已完成验证的数据。本文用密码确认和区间边界示例说明验证层、顺序和错误处理。210 收藏 -
Python Typer 的 bool 参数可以自动生成正反开关,也能用 --accept/--reject 自定义业务语义;需要区分未选择与明确关闭时,应使用 bool | None。208 收藏 -
需要在一个同步宿主里连续调用多个顶层异步入口时,可以用 asyncio.Runner 复用同一个事件循环和上下文。本文对比 asyncio.run 与 Runner 的生命周期、loop_factory、context 和关闭边界,给出按场景选型的方法。204 收藏 -
本文围绕 itertools.pairwise 的相邻记录比较,说明如何在保留流式处理优势的同时补回首条和末条信息,并覆盖空输入、单条输入和多条输入的边界处理。172 收藏 -
目标目录已经存在时,Python 的 shutil.copytree 默认会抛出 FileExistsError。本文围绕 dirs_exist_ok=True 讲清目录合并、同名文件覆盖、copy2 元数据、ignore 过滤和异常边界,给出可重复使用的复制写法。165 收藏 -
Python contextlib.chdir 会在 with 进入时切换当前工作目录,并在退出时恢复进入前的目录。本文用嵌套和异常场景说明恢复顺序,再解释线程、异步和 yield 场景的全局状态风险。158 收藏 -
文章 · python教程 | 2天前 | CLI · 命令行 · python · 命令行选项 list[str] Python Typer Typer重复参数 Typer列表参数 list[float]
Python Typer 中把选项类型声明为 list 后,同一个参数可以重复传入并自动收集为列表。本文用字符串和浮点数示例说明默认值、类型转换、调用方式与边界处理。157 收藏 -
本文说明 Python asyncio.as_completed 如何按完成顺序消费任务结果,并处理异常、超时、任务身份和剩余任务清理。144 收藏 -
QueueListener 的关键不是把日志放进队列,而是退出时保持正确顺序:先停止业务线程继续产生日志,再调用 stop() 发送停止信号并等待监听线程结束,最后刷新和关闭 Handler。本文给出最小写法、关闭边界和异常兜底。143 收藏 -
Python 3.15 的 profiling.sampling 同时支持 wall-clock 和 cpu 采样。本文从观测目标、命令组合和生产排障场景说明两种模式的取舍,并提醒统计采样、短脚本和版本匹配的边界。138 收藏 -
Python 3.15 延迟导入的启动收益需要按入口测量。本文比较普通导入、函数内导入与显式 lazy import,提供新进程测量示例,并说明首次使用成本、异常时机和版本兼容取舍。133 收藏