【发布时间】:2014-03-03 10:51:09
【问题描述】:
我正在编写一个 .py 文件,该文件将在第一个单元格中的一些 IPython 会话开始时定期导入,但也会从其他非交互式会话中导入,因为它包含可以在其中运行的函数在非交互模式下批处理。
它基本上是一个包含许多非常常见的类和函数的模块。
由于我使用带有--pylab=inline 选项的IPython,numpy 和matplotlib 函数已经被导入,但是当使用简单的python mymodule.py 批量运行时,必须专门导入numpy 函数。
最后我会在 IPython 会话期间提出双重导入,这是我不太喜欢的事情。
在这种情况下,最佳做法是什么?两次导入模块不是不好的做法吗?
【问题讨论】:
-
“两次导入模块不是不好的做法吗?” - 为什么这么说?
-
这不是内存浪费吗?我来自 C++,其中两次导入头文件会导致严重的编译器错误,所以 #pragma 和 #ifndef
-
没有。您可以在循环中导入一个模块 200 次,或者让 A 导入 B 导入 A,Python 仍然只会执行每个模块的代码一次。 (不过,循环导入示例可能会导致一些其他问题。)
标签: python numpy module matplotlib ipython