Python导入和重载误会

时间:2013-09-14 14:37:49

标签: python numpy ipython

原始标题是:'Numpy array:'数据类型未被理解''。事实证明,问题在于我误解了Python作为一种解释性语言。

我有一个非常简单的模块'rtm.py':

import numpy as np
def f():
    A=np.array([[1.0,0.5],[0.0,1.0]])

但是当我在IPython中运行它时:

import rtm
rtm.f()

我收到此错误:

      1 import numpy as np
      2 def f():
----> 3         np.array([[1.0,0.5],[0.0,1.0]])

TypeError: data type not understood

文档中的哪一部分我不理解?

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果要在解释器会话中看到模块中的外部更改,则必须使用reload而不是import:

Python 2

import rtm
# some change in rtm.foo has been made
import rtm 
rtm.foo() # Old version of rtm.foo is called

reload(rtm) # You have to reload module ([docs][1])
rtm.foo() # Now you can call new version of rtm.foo

Python 3

...
from imp import reload
reload(rtm)