python教程技术文章
-
typing.TypeIs 用于标注用户自定义类型谓词:True 分支把原类型与目标类型取交集,False 分支排除目标类型。本文说明输入兼容边界,并对比何时使用 TypeGuard。446 收藏 -
通过带初始化校验的冻结数据类示例,说明dataclasses.replace如何构造同类型新对象,解释返回值、init=False、InitVar以及嵌套列表共享的限制。441 收藏 -
读取函数注解时,eval_str=False 只关闭字符串的额外求值。结合可信输入、版本差异、显式解析及错误状态,说明如何为文档和注册器设计合适的注解读取流程。440 收藏 -
Python free-threading 不是把解释器换成一个开关就结束了:原生扩展还要匹配 free-threaded wheel,声明不使用 GIL,并补足此前被 GIL 掩盖的线程安全测试。本文按解释器、轮子、模块声明和 CI 四层整理一份可执行兼容清单。439 收藏 -
解释 Python 3.14 Path.info 的文件类型缓存何时可能变旧、iterdir() 如何提供初始信息,以及实时判断和重建 Path 对象的选择。438 收藏 -
Python sqlite3 原生只认识有限的 SQLite 类型。本文用 Point 示例说明如何注册 register_adapter 写入自定义对象,再用 register_converter 与 detect_types 在查询时恢复对象,并列出声明类型、列名解析和版本兼容边界。438 收藏 -
本文说明 Python zip(strict=True) 会在最短输入耗尽后的下一次取值请求中抛出 ValueError,并分析参数顺序、额外消费与提前停止迭代的边界。437 收藏 -
TypeGuard 可以把复杂容器在 True 分支收窄到更具体的类型,但不会替你转换运行时数据。本文用混合列表说明谓词写法、False 分支、list 不变性、Sequence 设计和 TypeIs 的取舍。437 收藏 -
Python 3.11 引入的 enum.StrEnum 让枚举成员同时具备枚举身份和字符串行为。本文用原创示例说明显式字符串值、auto()、value、str() 的区别,以及遇到精确 str 类型检查时的兼容处理。434 收藏 -
文章 · python教程 | 3天前 | 异常处理 · python · 异步编程 · asyncio · 超时处理 CancelledError Python异步 asyncio.timeout TimeoutError
asyncio.timeout 超时后会先取消当前任务,再在离开上下文时把 CancelledError 转换为 TimeoutError。本文说明正确的捕获层级、finally 清理位置和 reschedule 动态期限用法。433 收藏 -
Python configparser 中,缺失 section 与缺失 option 不是同一类问题。本文用 has_section、has_option、DEFAULT 继承、fallback 和异常处理,整理出一套可直接复用的判断方式。432 收藏 -
通过上传元数据示例说明 TypedDict 如何用 Required、NotRequired 和 total 标记部分必填字段,区分缺键与 None,并给出读取方式、版本注意及运行时边界。431 收藏 -
本文说明 Python tempfile.TemporaryFile 如何在不依赖可见文件名的情况下完成临时读写,重点覆盖 seek 定位、二进制与文本模式、上下文清理、目录参数以及与 NamedTemporaryFile 的选择边界。429 收藏 -
Python 3.10 起可用 @dataclass(slots=True) 自动生成 __slots__,避免每个字段固定的小对象创建实例 __dict__。本文通过完整小项目对比批量实例内存,并说明序列化、继承、动态属性和弱引用的兼容边界。427 收藏 -
Python 3.13 为 queue.Queue 增加了 shutdown(),可以让生产者停止投递、消费者排空已有任务后自然退出,也可以用 immediate=True 立即终止。本文用一个线程生产者消费者示例说明两种模式、ShutDown 异常和 task_done/join 的配合边界。427 收藏