导读:经过Python开发者社区的长时间辩论,PEP 810 获得了批准。
通过 PEP 810“显式延迟导入”,Python 程序的启动速度将更快,该规范允许脚本延迟加载导入的库,直到实际需要时才加载,而不是在启动时加载。
PEP810提案 https://pep-previews--4622.org.readthedocs.build/pep-0810/
Python增强提案 (PEP)由指导委员会成员巴勃罗·萨尔加杜恩(Pablo Salgadoon )于 10 月 3 日提出,并于2025年11 月 3 日正式获得批准。
该增强功能是把惰性导入引入 Python 语言本身,同时作为一项可选功能。
在 Python 中导入模块既是好事也是坏事。
好处在于,只需几条import语句就能极大地扩展程序的功能;坏处在于,导入的符号可能永远不会被使用,从而增加启动时间。一个很好的例子就是,当你在命令行中使用类似 `python setup.py` 的命令启动程序--help时,却不得不等待加载一些并不需要的导入。
作为一种解决方案,延迟导入会将某些内容延迟到实际需要时才进行导入。
这个想法并不新鲜。但是令人惊讶的是,标准实现竟然花了这么长时间。实现延迟导入的方法有很多,但 Python 语言一直没有内置此功能。
在Python中这一特性也并不是新概念,但在之前的尝试均以失败告终。PEP 690被否决的部分原因是它将惰性导入设为默认行为,引发了人们对社区分裂和向后兼容性的担忧。与此同时,开发者们创建了自己的变通方案,甚至有些组织还创建了 CPython 的分支。
PEP 810 的成功之处在于它使延迟导入成为可选功能,从而在保持向后兼容性的同时,规范了目前分散的自定义解决方案。
作者:行动的大雄
本篇文章为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。