所以说我有一个声明以下导入的脚本:
import some_library
稍后在代码中我有以下内容:
def foobar():
import foo
foo.bar()
但是,foo
还导入some_library
(并依赖于它)我将如何优化这种情况?我应该直接在导入bar()
代码的类中编写foo
代码吗?或者有没有其他方法可以在some_library
代码段中导入foo
代码,因为它已经在“外部类”中?我可以在构造函数中发送对库的引用吗?
答案 0 :(得分:1)
这已经由Python运行时完成 - 命令import
首先检查所需的模块是否已经存在(它们都可以列在sys.modules
字典中) - 并且仅当它是不存在,触发实际导入。
之后,您询问的名称将在放置导入命令的命名空间中可用。
来自the docs:" import语句结合了两个操作;它搜索命名模块,然后将搜索结果绑定到本地范围内的名称。"