python教程技术文章
-
Python typing.TypeIs 可以把可复用的布尔判断接入类型收窄,并在 True 与 False 两个分支提供更精确的类型信息。本文从联合类型示例出发,说明安全写法、Python 版本导入、TypeGuard 对比和错误实现边界。501 收藏 -
Python xml.dom.minidom 解析大 XML 后,应在最后一次访问 DOM 之后调用 Document.unlink,或用 with 自动清理。本文说明整树与子树的作用范围、try/finally 写法、结果复制和清理后的访问边界。501 收藏 -
Python asyncio.TaskGroup 会在子任务出现首个非取消异常后取消同组剩余任务,并在上下文退出时把非取消异常集中为 ExceptionGroup。本文用一个可复用的任务组示例说明取消收尾、except* 拆分和超时处理。501 收藏 -
说明textwrap.shorten为何在截断前合并空白,以及关闭replace_whitespace仍无法保留原格式的原因。提供摘要与保真前缀预览的独立示例,明确长度预算和Unicode显示限制。500 收藏 -
Python pstats 用 sort_stats() 决定性能报告的排序方式,再用 print_stats() 按数量、比例或函数名限制显示内容;多个限制会按书写顺序依次收窄。499 收藏 -
Alembic 迁移脚本执行带参数 SQL 时,应区分在线连接执行和离线 --sql 生成;本文给出 op.get_bind、text、绑定参数与 inline_literal 的选择方法。496 收藏 -
解释 NumPy 中 dtype、copy=None、copy=True 与 astype(copy=False) 的内存关系,用 np.shares_memory 判断转换结果是否会影响原数组,并给出排查修改串联、ValueError 和类型转换边界的实用写法。494 收藏 -
解释 Python quopri 的 header=False 与 header=True 为什么对下划线产生不同结果,并区分普通正文、MIME Q 编码头和完整邮件头的正确处理方式。491 收藏 -
Python plistlib 默认写出 XML plist;本文说明如何使用 FMT_BINARY 生成二进制 plist,并比较 dump 与 dumps、固定字符串键、排序策略以及 TypeError 和 OverflowError 的处理边界。491 收藏 -
文章 · python教程 | 3星期前 | 线程池 · 异步编程 · Python教程 · Python contextvars ContextVar asyncio.to_thread 线程上下文
asyncio.to_thread 会把调用上下文复制到工作线程,因此线程函数可以读取请求标识,但在线程内 set() 不会回写事件循环;如果上下文里装的是列表或字典,原地修改仍可能共享同一个对象引用。489 收藏 -
Python dataclass 处理 list、dict 等可变字段时,不能把共享对象直接当默认值;应使用 field(default_factory=...) 让每个实例按需创建独立容器。本文说明调用边界、常见错误和继承场景。488 收藏 -
Python 正则匹配后,用 re.Match.groupdict 将命名捕获组读取为字典;本文说明基础用法、可选分支默认值,以及它与 group、groups 的职责边界。488 收藏 -
Python 正则防护需要同时考虑输入上限、模式设计与调用预算,说明标准库 re 和第三方 regex 的超时区别,并用状态封装区分输入拒绝、不匹配和超时。487 收藏 -
TaskGroup 首个非取消异常会取消尚未完成的同组任务,并在退出时组合已产生的异常。本文用 except* 分类 ExceptionGroup,并演示如何把普通业务异常转成结果对象,从而汇总每个异步任务的失败状态。486 收藏 -
本文解释 NumPy dtype、copy、order 与共享内存的关系,比较 asarray、array、astype 的适用边界,并给出批处理入口统一转换、减少重复分配的写法。486 收藏