Pau*_*nta 4 python memory-efficient
内存成本显然取决于模块的大小,但我只是在寻找一个通用的答案:在Python中导入模块通常是昂贵还是便宜?如果我有几十个小脚本可能在整个应用程序期间留在内存中,那么占用多少内存?
听起来你并不担心时间成本(好;那会很愚蠢,因为模块只导入一次)但是内存成本.我告诉你:如果你需要这些模块中的所有功能,那么你打算如何避免将它们全部留在内存中?也可能以import最合乎逻辑的方式处理事物.
也就是说,在Python中import是一个语句而不是某种预处理程序指令(或类似的),因此您可以通过简单地安排在适当的时间运行语句来延迟模块的导入,直到您真正需要其内容为止.这可以是一些特别大或复杂的项目中的有意义的优化,或者至少使棘手的事情成为可能.请记住,Python编译器不会尝试检查foo您何时引用foo.bar; 每个名字都在运行时查找.鸭子打字在这里发挥作用; 该foo.bar代码并不关心是否foo是一个模块,类或对象的名称.(这基本上是因为模块和类是对象,但我离题了...)