首页 > 后端开发 > Python教程 > Python 中的顶级导入和惰性导入:哪个更高效?

Python 中的顶级导入和惰性导入:哪个更高效?

Barbara Streisand
发布: 2024-12-02 21:14:14
原创
501 人浏览过

Top or Lazy Imports in Python: Which Is More Efficient?

顶部或模块内的导入语句:效率问题

PEP 8 强制将导入语句放置在文件的开头,这引发了一个问题:仅在需要时导入模块更有效。

性能比较

考虑以下代码:

class SomeClass(object):

    def not_often_called(self):
        from datetime import datetime
        self.datetime = datetime.now()
登录后复制

与:

from datetime import datetime

class SomeClass(object):

    def not_often_called(self):
        self.datetime = datetime.now()
登录后复制

虽然模块导入速度很快,但它不是瞬时的。因此:

  • 在顶部导入语句:仅产生一次较小的成本。
  • 延迟导入:导致每个函数调用需要更长的时间。

效率注意事项

如果考虑性能,请优先考虑文件开头的导入语句以提高效率。仅当分析显示性能提升时才考虑函数内的延迟导入。

延迟导入的合法原因

尽管延迟导入通常效率较低,但也有有效的场景:

  • 可选库:并不总是避免导入库
  • __init__.py 插件: 防止导入可能不会使用的插件。

总之,将导入放在模块的顶部以提高效率,除非延迟加载有令人信服的原因,例如可选库或不活动的插件。

以上是Python 中的顶级导入和惰性导入:哪个更高效?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板