python教程技术文章
-
Python 3.15 的 PEP 798 让列表、集合、字典推导式和生成器支持 *、** 解包。本文用等价循环解释展开、去重、键覆盖、惰性求值和变量作用域边界,并给出兼容旧版本的落地写法。241 收藏 -
Python 3.13 已将 typing.AnyStr 标记为弃用,官方建议改用新的类型参数语法。本文用字符串与字节串函数拆解迁移写法、运行版本和静态检查门禁。238 收藏 -
Python 3.13 新增的 copy.replace() 适合给 dataclass、namedtuple 和自定义 __replace__ 对象生成字段变体。本文用订单配置场景说明它与 copy.copy、deepcopy、dataclasses.replace 的边界,并给出兼容检查和测试方法。237 收藏 -
比较 Python asyncio.gather 与 TaskGroup 在异常传播、兄弟任务取消、结果收集和资源清理上的差异,给出按业务边界选择异步并发 API 的判断清单。237 收藏 -
Python 3.14 为 functools.partial 和 partialmethod 增加 Placeholder,可以预留非首位位置参数。本文从普通 partial 的限制讲起,说明占位符填充、嵌套组合、失败边界和方法描述器用法。237 收藏 -
用 Python RotatingFileHandler 按文件大小轮转日志,理解 maxBytes、backupCount、app.log.1 命名链,以及多进程写入时的安全边界。236 收藏 -
从 setup.py 迁移到 pyproject.toml 时,先划分构建后端、静态元数据和动态配置,再用 sdist、wheel、普通安装与 editable 安装逐项回归。236 收藏 -
typing.Protocol 可以围绕消费者需要描述可替换依赖。本文用两个标题查询实现说明小协议、显式注入与签名兼容,并区分静态检查、运行时成员检查和业务语义保障。236 收藏 -
Python cmd.Cmd 的 precmd 在命令分发前改写输入,postcmd 在命令执行后接管 stop 标志。本文用一个最小命令解释器说明别名、计数和退出条件应该放在哪里。236 收藏 -
跨平台使用 pathlib 读写文本时,显式设置 encoding,结合 BOM、原始字节和 errors 策略排查乱码与 UnicodeDecodeError,并保持读取和写回的编码契约。235 收藏 -
从字节流、前两行读取边界和 BOM/编码声明冲突三个角度,说明 Python tokenize.detect_encoding 如何识别源文件编码,并给出 tokenize.open 的使用边界。235 收藏 -
Python 异步服务需要把 request_id、租户或用户上下文带进子任务时,contextvars 能保持 Task 隔离,但跨线程不会自动复制。本文用可复现的边界检查说明 copy_context、to_thread 与日志关联的正确用法。234 收藏 -
Python 3.13 为 asyncio.Queue 增加 shutdown() 和 QueueShutDown。本文用一个异步任务队列示例说明平滑停机、join()、task_done() 与 immediate=True 的边界。233 收藏 -
解释 itertools.accumulate 为什么不会自动按标记重置,并给出先切分后累计、惰性生成器以及 groupby 配合累计的完整工作流。233 收藏 -
介绍 Python tarfile 的 extraction_filter、data_filter 和自定义过滤器,说明如何阻止危险路径、越界链接与不必要的归档元数据,并处理版本兼容和部分解包清理。232 收藏