python教程技术文章
-
在 Python dataclass 中,使用 typing.ClassVar 标注类级配置后,dataclasses 会把它排除出字段集合和生成的初始化参数。本文用最小示例说明普通标注、ClassVar、fields()、asdict() 以及继承和可变配置的边界。102 收藏 -
Python configparser 默认启用 BasicInterpolation,配置值中的单个百分号可能被当成插值语法。本文说明为什么要写成 %%、如何使用 %(name)s 引用配置、怎样用 raw=True 读取原文,以及什么时候应该关闭 interpolation。393 收藏 -
asyncio.PriorityQueue 会按最低优先级先取数据,但相同优先级的任务如果直接携带字典或对象,可能出现顺序不稳定甚至比较异常。本文用 priority、sequence、payload 三元组固定同级任务顺序,并说明生产者、消费者、join、取消和容量边界。306 收藏 -
需要在一个同步宿主里连续调用多个顶层异步入口时,可以用 asyncio.Runner 复用同一个事件循环和上下文。本文对比 asyncio.run 与 Runner 的生命周期、loop_factory、context 和关闭边界,给出按场景选型的方法。204 收藏 -
嵌套 asyncio.TaskGroup 发生异常时,内层任务组会先整理自己的 ExceptionGroup,外层再处理收到的异常与取消信号。本文用一个最小结构解释传播边界、except* 分流方式、取消例外和日志防复发规则。319 收藏 -
本文说明 Python asyncio.as_completed 如何按完成顺序消费任务结果,并处理异常、超时、任务身份和剩余任务清理。144 收藏 -
Python fractions.Fraction 可以保留数值的有理表示,limit_denominator 则能把结果约束到指定最大分母。本文解释浮点数转换差异、参数选择方法和常见边界。417 收藏 -
Python 3.14 新增的 compression.zstd 提供 zstd.open 和 ZstdDecompressor。本文按文件和通用输入两种场景说明如何分块读取大压缩流,控制解压输出大小,并处理 EOF、多帧输入、异常和模块缺失。288 收藏 -
Python 3.15 t-string 返回 Template 而非最终字符串。本文用受限纯文本渲染器说明静态文本与插值处理、求值时机、异常与回退边界,并指出 t-string 并非自动安全模板。491 收藏 -
Python httpx 的关键不是把 AsyncClient 写得更短,而是让同一个客户端覆盖合适的异步生命周期。本文从循环中新建客户端的常见问题出发,说明共享连接池、Limits 参数、并发任务和关闭时机。299 收藏 -
用 Python sqlite3 的 serialize 与 deserialize 在连接之间迁移内存数据库,说明 bytes 快照、事务状态、SQLite 编译能力和恢复连接生命周期的关键边界。497 收藏 -
用 ContextVar 保存请求范围内的 request_id,再通过 logging.Filter 统一写入 LogRecord。本文给出 asyncio 并发示例,并说明 token 恢复、默认值、Handler 过滤器和后台任务边界。471 收藏 -
typing.Protocol 可以围绕消费者需要描述可替换依赖。本文用两个标题查询实现说明小协议、显式注入与签名兼容,并区分静态检查、运行时成员检查和业务语义保障。236 收藏 -
用一个可移植的进程池小工具说明 Python multiprocessing 中 spawn 与 fork 的资源继承、平台差异、代码写法和选择边界。322 收藏 -
Python 3.11 引入的 StrEnum 适合承载接口中的稳定字符串值。本文从 name 与 value 的区别出发,演示 json.dumps 序列化、枚举类调用反序列化,以及严格编码器和未知值场景下的处理边界。393 收藏