python教程技术文章
-
Python dataclasses 处理列表、字典等可变字段时,应使用 field(default_factory=...) 为每个实例创建独立对象。本文从共享状态问题出发,说明工厂调用时机、显式传参和常见配置错误。136 收藏 -
Python TopologicalSorter 会通过 get_ready() 返回当前所有可执行节点组成的元组;处理完这一批后调用 done(*nodes),才能解除后继节点的依赖。本文说明依赖图写法、prepare()、is_active()、CycleError 与并发消费边界。136 收藏 -
Python zoneinfo 默认先查系统时区数据库,再回退到 tzdata。本文说明怎样用 PYTHONTZPATH 配置绝对路径,怎样用 reset_tzpath 处理测试场景,以及 ZoneInfo 缓存、ZoneInfoNotFoundError 和跨平台部署的边界。135 收藏 -
itertools.batched 会惰性地把迭代器分成固定大小的元组,但默认允许最后一批不足 n。本文用订单编号批处理示例说明 strict=True 何时抛出 ValueError、如何选择补齐或拒绝,以及怎样验收没有静默漏数据。133 收藏 -
Python 3.15 延迟导入的启动收益需要按入口测量。本文比较普通导入、函数内导入与显式 lazy import,提供新进程测量示例,并说明首次使用成本、异常时机和版本兼容取舍。133 收藏 -
文章 · python教程 | 3星期前 | 队列 · Python教程 · asyncio · Python 消费者 asyncio.Queue Queue.shutdown QueueShutDown
Python 3.13 为 asyncio.Queue 增加 shutdown() 和 QueueShutDown。本文按新旧版本对比生产者停止、消费者排空、join 收尾和兼容降级,给出可直接改造的队列关闭写法。133 收藏 -
Python 3.12+ 可用类型参数语法改写通用类、函数和类型别名。本文用 Box[T]、first[T] 与 Pair[T] 说明迁移步骤,并列出 Python 3.11 兼容边界。132 收藏 -
Python sched 取消尚未触发的定时事件,需要保存 scheduler.enter 或 enterabs 返回的事件对象,再交给同一个调度器的 cancel;事件不在队列时会抛出 ValueError。本文说明事件句柄、重复取消和业务任务映射的处理方式。132 收藏 -
Python 项目里相对路径不稳定,通常不是 pathlib 的问题,而是把当前工作目录 cwd 和脚本位置 __file__ 混在了一起。本文用配置文件读取与 pytest 临时目录示例,拆开两种路径基准,并给出可验收的写法。131 收藏 -
Python zipfile 默认支持 ZIP64 扩展,但 allowZip64 与 force_zip64 解决的是不同问题。本文分别说明已知大小文件和未知大小流式数据的写法,并解释 LargeZipFile 的触发边界与兼容注意。131 收藏 -
plistlib.UID 不是普通 int 的别名,而是为二进制 plist 保留 UID 类型语义的包装对象。本文用一个小工具说明类型判断、数值转换、写回格式和兼容边界。131 收藏 -
InterpreterPoolExecutor 隔离的是工作解释器,不保证每次 submit 都获得全新解释器。本文说明如何用参数、函数局部状态和返回值避免任务串状态,并比较 initializer 与进程回收方案。130 收藏 -
Python statistics.multimode 会返回所有最高频值,并按这些值在原始数据中首次出现的顺序排列。本文用小例子说明结果语义、空输入、可哈希要求和业务侧二次排序边界。130 收藏 -
解释 BytesIO.getbuffer 导出的 memoryview 为何阻止扩容和关闭,用字节包编辑示例展示等长修改、视图释放、子视图管理及 getvalue 的取舍。130 收藏 -
Textual Worker取消后,异步任务应让CancelledError穿过并在finally中释放资源;线程Worker不能强制终止,需要轮询is_cancelled,在安全检查点停止,并通过call_from_thread更新界面。129 收藏