首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪种做法更好??全球进口还是本地进口?

问哪种做法更好??全球进口还是本地进口?
EN

Stack Overflow用户
提问于 2013-12-03 08:31:13
回答 3查看 5.7K关注 0票数 21

我正在用django开发一个应用程序,我怀疑在全局级别导入库是否比在本地(每个函数)级别导入对内存或性能有任何影响。如果它是在每个函数或视图中导入的,那么单独需要的模块就会被导入,这样可以节省空间吗?还是说这样做有什么负面影响?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-03 08:36:34

您肯定已经注意到,几乎所有Python代码都在文件顶部执行导入操作。这是有原因的:导入的开销很小,而且您可能会在流程生命周期的某个时候导入代码,所以您最好还是把它排除在外。

在函数级别导入的唯一好理由是避免循环依赖。

编辑你的评论表明你还不了解网络应用程序是如何工作的,至少在中是这样的。他们不会为每个请求启动一个新的进程并从零开始导入代码。相反,服务器会根据需要实例化进程,每个进程都会处理多个请求,直到最终终止为止。因此,很可能在这段时间内,所有的进口最终都会被需要。

票数 27
EN

Stack Overflow用户

发布于 2017-12-09 08:38:37

导入语句开销

来自Python性能提示

将它们放置在函数中以限制其可见性和/或减少初始启动时间通常是有用的。虽然Python的解释器被优化为不多次导入相同的模块,但在某些情况下,重复执行import语句会严重影响性能。

票数 5
EN

Stack Overflow用户

发布于 2013-12-03 08:41:17

当脚本运行时,它会将模块存储在内存中,我相信您理解这一点。

如果您是在本地范围上导入,则每次客户端调用该函数时都会导入该模块。但是如果该模块是在全球范围内导入的,那么就没有必要这样做了!

因此,在这种情况下:全局导入获胜。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20346189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档