原标题是:“Numpy 数组:‘数据类型不理解’”。事实证明,问题出在我对 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
文档中的哪一部分我不明白?
提前致谢!
最佳答案
如果您想对解释器 session 中可见的模块进行外部更改,则必须使用重新加载而不是导入:
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)
关于Python import 和 reload 的误解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18802850/