从模块导入函数需要很长时间
当我在python脚本中导入我自己编写的模块函数时,加载大约需要6秒钟.该函数只包含大约50行代码,但这甚至不重要,因为它还没有被执行好吗? 这是加载函数的脚本:
输出如下:
我也尝试导入整个模块,但结果是一样的. 可能是什么原因? 一些旁注: >我使用python 2.7.9 最佳答案
函数本身的代码不会被执行,但会执行文件中的代码.这是合乎逻辑的,因为该文件可能包含装饰器,库调用,内部常量等.甚至可能构建函数(因此算法构造函数). 来自< module> import< item>您执行几乎正常的导入,但只创建一个对该包中项目的引用. 因此,如果在模块中编写了一个程序(在if __name__ ==’__ main__’:)中没有作用域,或者导入大量其他库时,可能需要很长时间. 例如,可以构造如下函数:
如果你从模块导入qux运行,那么首先必须定义foo和bar,因为qux依赖于这些. 此外,虽然代码本身没有执行,但解释器将分析函数:它将源代码转换为语法树并进行一些分析(哪些变量是本地的,等等). 最后请注意,包通常有一个__init__.py文件,用于初始化包.该文件也被执行,也可能需要相当长的时间.例如,某些具有数据库连接的软件包已经建立了与该数据库的连接,并且在数据库响应连接之前可能需要一些时间. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |