python教程技术文章
-
Python logging 记录异常时,logger.exception 会以 ERROR 级别保留当前 traceback;本文进一步区分 exc_info 与 stack_info,并说明如何用 extra 补充请求上下文。421 收藏 -
Python dataclasses 默认会把字段纳入自动生成的比较方法。本文用 field(compare=False) 排除辅助字段,并说明它对 __eq__、order=True 排序、字段职责和哈希设计的影响。341 收藏 -
Python 资源数量不固定时,用 contextlib.ExitStack 统一登记上下文管理器和 cleanup 回调,按后进先出顺序完成关闭,并用 pop_all 交接清理责任。333 收藏 -
Path.read_text 的 encoding=None 会把编码决定交给文本 I/O 默认规则,跨系统或容器时可能出现乱码和 UnicodeDecodeError。本文说明如何显式指定编码、保留 strict 错误证据,并区分编码与 newline 参数。220 收藏 -
Python shelve 删除键后文件不一定变小,因为底层 dbm 会保留空闲区供后续写入复用。本文说明怎样在独占维护窗口中调用 Shelf.reorganize() 回收空间,并处理后端能力、磁盘余量和旧版本边界。394 收藏 -
Python 3.15 增加私有方法的 pickle 支持,但恢复仍依赖模块、类定义与可序列化的实例状态。本文用私有绑定方法往返示例说明排查层次,并给出长期任务保存显式参数的设计取舍。225 收藏 -
Python 3.12 的 type 语句会创建 TypeAliasType。本文从普通赋值的歧义出发,说明如何声明类型别名、读取运行时元数据,并区分别名与 NewType 的边界。380 收藏 -
Python dataclasses 处理列表、字典等可变字段时,应使用 field(default_factory=...) 为每个实例创建独立对象。本文从共享状态问题出发,说明工厂调用时机、显式传参和常见配置错误。136 收藏 -
Python asyncio 中可以用 Semaphore 限制同时进入一次 IO 操作的任务数。本文从任务创建、信号量上下文、超时取消和并发粒度说明怎样控制请求排队,避免把并发上限误写成任务总数。335 收藏 -
Python 浮点数比较不要只写 a == b。本文用 math.isclose 拆解 rel_tol 与 abs_tol 的作用,说明不同数量级数据如何选择容差,并补充零、NaN 和无穷大的边界。278 收藏 -
Python 3.15 pathlib mkdir 新增 parent_mode,可指定新建中间目录的请求权限。本文通过临时目录示例区分末级 mode、中间层权限和 umask,并说明已有目录与旧版 Python 的边界。330 收藏 -
Python sqlite3 使用 file URI、mode=ro 和 uri=True 打开已经存在的 SQLite 文件,避免缺失文件被隐式创建,并区分连接失败与写入拒绝。159 收藏