lin*_*llo 4 python module numpy matplotlib ipython
我正在编写一个 .py 文件,它将在第一个单元中的一些 IPython 会话开始时定期导入,但也将从其他非交互式会话导入,因为它包含可以在非批处理中运行的函数- 交互模式。
它基本上是一个包含许多非常常见的类和函数的模块。
由于我将 IPython 与该--pylab=inline选项一起使用,因此已经导入了 numpy 和 matplotlib 函数,但是当使用简单python mymodule.py的批处理运行时,必须专门导入 numpy 函数。
最后,我在 IPython 会话期间提出了双重导入,这是我不太喜欢的事情。
在这种情况下,最佳做法是什么?两次导入模块不是不好的做法吗?
重复导入不是问题。无论一个模块在一个程序中被导入多少次,Python 只会运行它的代码一次,并且只制作该模块的一个副本。第一个之后的所有导入将仅引用已加载的模块对象。如果您来自 C++ 背景,您可以想象所有模块都具有隐式包含保护。