python教程技术文章
-
排查 asyncio TaskGroup 失败时,区分 ExceptionGroup、兄弟任务取消和清理阻塞,使用 except* 分类处理,并正确传播 CancelledError。231 收藏 -
asyncio.timeout_at 用事件循环时钟表达绝对截止时间,适合把多个异步步骤放进同一时间预算。本文从最小写法出发,说明 TimeoutError 的捕获位置、取消语义、嵌套超时和 wait_for 的边界。230 收藏 -
Python datetime 的 fold=0 和 fold=1 可以区分夏令时回拨产生的两次相同本地时间。本文说明 ZoneInfo 的用法,以及比较、存储和春季 gap 的处理边界。230 收藏 -
在 Gradio 的 gr.Blocks 中,直接通过 在 head 中监听 DOMContentLoaded 无法可靠访问动态渲染的 HTML 元素;应改用内联事件处理(如 onclick)或延迟执行脚本,确保 DOM 元素已挂载。 在 Gradio 的 `gr.Blocks` 中,直接通过 ``228 收藏 -
Python 3.14 官方 macOS 与 Windows 二进制带有实验性 JIT。本文用 PYTHON_JIT 和 sys._jit 设计一次可回退的灰度检查,说明平台范围、观测项、第三方依赖风险以及为什么不应直接作为生产默认值。228 收藏 -
用 memoryview.cast 在不复制缓冲区的前提下读取固定长度二进制记录,重点检查格式字符串、C 连续布局、字节序与越界风险。226 收藏 -
用 Python csv.QUOTE_NOTNULL 区分 None 与空字符串,掌握写入、读取、版本兼容和回退检查,避免 CSV 导入时丢失空值语义。225 收藏 -
用一个长度前缀二进制报文示例,说明 Python memoryview 如何复用底层缓冲区、配合 struct.unpack_from 解析头部,并处理复制边界、可写性和生命周期。225 收藏 -
用 Python statistics.quantiles 计算 P95/P99 时,关键不是只把 n 改成 100,还要根据样本语义选择 method,并在计算前清理 NaN、检查有效样本量。225 收藏 -
Python 3.15 增加私有方法的 pickle 支持,但恢复仍依赖模块、类定义与可序列化的实例状态。本文用私有绑定方法往返示例说明排查层次,并给出长期任务保存显式参数的设计取舍。225 收藏 -
本文讲解如何在单词游戏中正确判断用户输入的新词是否作为连续子串出现在已有单词中,避免误判字母重排导致的错误拦截,核心是使用 Python 的 in 操作符进行原生子串匹配,并结合 any() 实现简洁高效的检查逻辑。 这段内容主要说明一件事:在单词游戏里,判断用户输入的新词是否合法,关键不是看字母能223 收藏 -
Python 的 webbrowser.open 适合把链接交给系统浏览器打开,但它不是 Selenium 或 Playwright,返回 True 也不代表页面加载成功。本文用最小示例拆开控制器选择、返回值和无界面环境的边界。223 收藏 -
用 Python tomllib 读取 TOML 日期配置时,裸日期会得到 datetime.date,引号日期仍是 str。本文对比配置写法、返回类型和显式转换方法,并说明带时区日期时间的处理边界。223 收藏 -
Python 3.12 之后 sqlite3 的事务控制增加了 Connection.autocommit。本文用一组可运行的小实验区分 False、True 与 LEGACY_TRANSACTION_CONTROL,说明 commit、rollback、close 的实际边界,并给出旧代码迁移检查清单。221 收藏 -
Python 3.14 的 string.templatelib 会把 t-string 保留为 Template。本文从 interpolations、values 和四个插值属性入手,说明如何读取动态对象并在自定义处理器中控制转换与格式化。221 收藏