python教程技术文章
-
Python itertools.batched 的 strict=True 只要求最后一批也达到 n 个元素;本文用完整、尾批不足和空输入三个例子说明 ValueError 的边界,并给出整除校验与版本兼容写法。306 收藏 -
ExceptionGroup.split 会递归筛选嵌套异常,并返回匹配组与剩余组。本文给出按异常类型拆分、处理可恢复错误、重新抛出未知错误的紧凑写法。311 收藏 -
用 Python dataclass 同时开启 slots 和 weakref_slot,创建节省实例字典且支持弱引用的数据类,并梳理版本、继承、字段反射和动态属性限制。207 收藏 -
介绍 Python tarfile 的 extraction_filter、data_filter 和自定义过滤器,说明如何阻止危险路径、越界链接与不必要的归档元数据,并处理版本兼容和部分解包清理。232 收藏 -
Python pathlib.Path.walk 剪枝的关键,是保持 top_down=True,并在循环内对 dirnames 做原地删除或切片赋值。本文给出跳过 .git、虚拟环境、依赖目录和标记目录的完整写法,同时说明符号链接与权限错误边界。159 收藏 -
Python 3.12+ 优先用 autocommit 控制 sqlite3 事务;旧项目继续使用 isolation_level 时,要把隐式事务、显式 BEGIN、commit 和 rollback 的边界分清。378 收藏 -
解释 asyncio eager_task_factory 为什么会让协程在 Task 构造时同步起跑,说明缓存命中、首个阻塞 await、异常与全局任务工厂带来的顺序变化。497 收藏 -
Python zoneinfo本身不携带时区数据库。本文说明系统TZPATH与tzdata回退顺序,给出精简容器和Windows的依赖配置、启动探测及异常处理方法。378 收藏 -
Python functools.cache适合无界记忆化,lru_cache适合设置容量和淘汰策略。本文从参数可哈希、typed、cache_info与失效边界出发,给出可直接套用的选择清单。211 收藏 -
Python multiprocessing 中,Queue 适合传递任务和结果,Manager 适合共享少量状态。本文从序列化、代理调用、数据规模和进程回收四个边界给出选型方法与代码示例。316 收藏 -
用 Python re 的命名分组和 groupdict 解析可选日志字段,区分整行失败、字段缺失与空字符串,并在字典边界统一设置默认值。470 收藏 -
Python json.loads 默认会接受 NaN、Infinity 和 -Infinity。本文说明 parse_constant 的拒绝方式、历史数据归一化边界,以及接口层如何区分无效数字和真实缺失值。267 收藏 -
使用 csv.DictReader 的 restkey 和 restval 明确处理 CSV 的额外列与缺失列,再结合必填校验和空字符串判断,避免导入数据把结构异常静默吞掉。105 收藏 -
使用 ContextVar 保存请求级字段,再通过 logging.Filter 注入 LogRecord,解决并发请求日志串值、Formatter 字段缺失和线程复用清理问题。324 收藏 -
用泛型 Protocol 的 __call__ 描述可调用对象输入与输出的类型关系,兼容普通函数和可调用实例,并说明 Python 3.12 与旧语法、方差和运行时边界。355 收藏