python教程技术文章
-
Python csv.DictReader 可用 restkey 把一行中超出 fieldnames 的值收集到列表。本文给出最小写法,并说明默认 None 键、多余表头、缺失字段、严格模式和导入审计的处理方式。171 收藏 -
@runtime_checkable 让 Protocol 可用于 isinstance,但运行时只检查成员是否存在,不验证参数、返回值或属性类型。本文拆解静态类型域与运行时结构域,并给出 callable、签名、适配器和业务契约的分层补强方法。410 收藏 -
讲清 Python asyncio.timeout 如何通过 Timeout.reschedule 动态缩短、延长或取消截止时间,并说明绝对时钟、TimeoutError 捕获位置及 expired 状态检查。403 收藏 -
从 setup.py 迁移到 pyproject.toml 时,先划分构建后端、静态元数据和动态配置,再用 sdist、wheel、普通安装与 editable 安装逐项回归。236 收藏 -
从大块数据跨进程复用的场景出发,讲清 Python multiprocessing.shared_memory 的缓冲区布局、名称附加、同步方式、close 与 unlink 责任,以及 resource tracker 边界。218 收藏 -
Python subprocess 超时不会自动终止子进程。本文按 POSIX 与 Windows 分开说明进程组建立、超时后的树级终止、管道回收和验证边界,给出可改造的 Popen 清理示例。108 收藏 -
文章 · python教程 | 3星期前 | 日志 · logging · Python教程 · Python contextvars request_id LogRecord logging.Filter
用 Python contextvars 保存 request_id 和用户标识,再由 logging.Filter 将上下文字段注入 LogRecord,统一交给 Formatter 输出;文章同时说明 Handler 挂载位置、缺省值和 finally reset 的并发边界。410 收藏 -
解释 Python itertools.groupby 的连续分组语义,说明何时必须按同一个 key 排序、如何保存分组迭代器,以及复合 key 的边界。351 收藏 -
用 Python typing.Protocol 为鸭子类型定义最小接口,约束方法、属性与泛型签名,并说明 runtime_checkable 的检查边界。246 收藏 -
用 Python tomllib 读取 TOML 配置,掌握 load 与 loads 的入口区别、嵌套类型映射、parse_float=Decimal 的精度选择,以及语法错误和业务校验的边界。259 收藏 -
Python sqlite3 的 autocommit、isolation_level 与 with con 分别控制什么?本文按请求级写入、单语句提交和显式写锁场景对比三种事务模式,给出自动提交回滚、连接关闭、SAVEPOINT 与旧代码迁移方案。279 收藏 -
Python pathlib 处理相对路径时,应先固定根目录,再用 resolve 消除点段并解析符号链接,完成范围判断后再检查普通文件。本文给出可保留缺失、权限、越界和文件类型错误的运行手册。144 收藏 -
讲清 Python asyncio.timeout 嵌套时的取消责任边界、TimeoutError 捕获位置、CancelledError 清理方式,以及动态 deadline 的排查清单。373 收藏 -
Python 3.14 为 heapq 增加了最大堆 API。本文说明如何用 _max 函数维护最大值优先队列、处理固定容量队列,并为旧版本封装兼容层。397 收藏 -
Python 3.13 起可用 copy.replace 为数据类、命名元组和自定义不可变对象生成字段变更副本。本文用一个小项目讲清统一写法、协议接入与浅层共享边界。245 收藏