python教程技术文章
-
用 Python contextvars 在 asyncio 请求链中传递 request_id,说明 Task 上下文继承、copy_context、Token.reset 以及 to_thread 的边界。393 收藏 -
从大文件生成器管道的三个常见故障入手,讲清同步按需拉取的背压边界、提前停止时的关闭级联,以及保留行号和原始原因的异常传播写法。126 收藏 -
Python 3.10 起可用 @dataclass(slots=True) 自动生成 __slots__,避免每个字段固定的小对象创建实例 __dict__。本文通过完整小项目对比批量实例内存,并说明序列化、继承、动态属性和弱引用的兼容边界。427 收藏 -
Python 3.12+ 可用类型参数语法改写通用类、函数和类型别名。本文用 Box[T]、first[T] 与 Pair[T] 说明迁移步骤,并列出 Python 3.11 兼容边界。132 收藏 -
文章 · python教程 | 4天前 | 并发 · 异常处理 · python · asyncio · CancelledError 结构化并发 ExceptionGroup Python asyncio TaskGroup asyncio gather
asyncio.TaskGroup 能在首个非取消异常出现时取消同组剩余任务,并在退出前等待全部任务收尾。本文给出最小写法、异常组处理和旧版本兼容方案。246 收藏 -
Python 3.14 的自由线程构建取消了 GIL 的全局串行效果,共享字典、计数器和迭代器不能再靠偶然的执行顺序兜底。本文用一个带锁的共享计数器说明检测运行时、划定临界区、处理扩展兼容和压力验证的完整做法。337 收藏 -
使用 importlib.resources.files() 获取 Traversable 后,可通过 joinpath、iterdir、is_file 和 read_text 读取包内目录。本文同时说明 zip 包兼容、as_file 目录支持与旧 contents API 的迁移边界。359 收藏 -
拆开 Python sqlite3.Connection.backup 的 progress 回调,解释 status、remaining、total 的含义,并给出进度计算、批量大小和资源回收的实用写法。325 收藏 -
Python 可用 zoneinfo.reset_tzpath 在运行时切换 IANA 时区数据目录,但路径必须为绝对路径,且切换不会自动清空 ZoneInfo 缓存。本文给出完整代码,并比较 reset_tzpath、PYTHONTZPATH 与 tzdata 的适用场景。176 收藏 -
InterpreterPoolExecutor 隔离的是工作解释器,不保证每次 submit 都获得全新解释器。本文说明如何用参数、函数局部状态和返回值避免任务串状态,并比较 initializer 与进程回收方案。130 收藏 -
本文说明 Python zip(strict=True) 会在最短输入耗尽后的下一次取值请求中抛出 ValueError,并分析参数顺序、额外消费与提前停止迭代的边界。437 收藏 -
Python 3.13 新增 typing.get_protocol_members,可返回 Protocol 定义及继承得到的成员名称 frozenset。本文通过一次成员探测故障复盘,说明正确读取、稳定排序、泛型别名边界、TypeError 处理和旧版本兼容写法。487 收藏 -
Python tomllib 会把 TOML 日期时间字面量直接转换成 datetime、date 或 time。本文说明四类映射、时区差异、引号陷阱,以及业务校验和 JSON 导出时的正确处理方式。104 收藏 -
Python SpooledTemporaryFile 可调用 rollover() 在未超过 max_size 时主动迁移到磁盘临时文件。本文用完整示例说明手动落盘、文件指针保持、fileno() 隐式触发和自动清理边界。307 收藏 -
解释 Python 3.14 Path.info 的文件类型缓存何时可能变旧、iterdir() 如何提供初始信息,以及实时判断和重建 Path 对象的选择。438 收藏