繁体   English   中英

Python:导入模块的内存成本

[英]Python: Memory cost of importing a module

内存成本显然取决于模块的大小,但我只是在寻找一个通用的答案:在Python中导入模块通常是昂贵还是便宜? 如果我有几十个小脚本可能在整个应用程序期间留在内存中,那么占用多少内存?

听起来你并不担心时间成本(好;那会很愚蠢,因为模块只导入一次)但是内存成本。 我告诉你:如果你需要这些模块中的所有功能,那么你打算如何避免将它们全部留在内存中? 不妨以最合乎逻辑的方式import东西。

也就是说,在Python中, import是一个语句,而不是某种预处理器指令(或类似的),所以你可以通过简单地安排语句在适当的时间运行来延迟模块的导入,直到你真正需要它的内容为止。 。 这可以是一些特别大或复杂的项目中的有意义的优化,或者至少使棘手的事情成为可能。 请记住,当您引用foo.bar时,Python编译器不会尝试检查是否存在foo ; 每个名字都在运行时查找。 鸭子打字在这里发挥作用; foo.bar代码不关心foo是模块,类还是对象的名称。 (这基本上是因为模块和类对象,但我离题了...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM