首页 > 解决方案 > Python:模块的延迟导入

问题描述

我之前研究了模块的延迟导入,并发现了这种方法:

def some_funk():
    lazy_module = __import__("lazy_module")
    lazy_obj = lazy_module.LazyClass()
    lazy_obj.do_stuff()

然后我看到了一些简单地使用的例子:

def some_funk()
    import lazy_module
    lazy_obj = lazy_module.LazyClass()
    lazy_obj.do_stuff()

我更喜欢以后使用,并将我的代码重写为这个。

但我的问题是,这两种懒惰导入的方式是否有区别

标签: python

解决方案


您可能需要查看导入文档的文档import lazy_module在内部调用__import__("lazy_module").

导入的惰性部分来自它们都在函数中完成,而不是在类/脚本的顶部。


推荐阅读