Python import 和 reload 的误解

标签 python numpy ipython

原标题是:“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/

相关文章:

python - Python中使用fft2的"valid"和"full"卷积

python - 使科学计数法从 numpy 数组中可读

python - 在时间戳表上旋转的 Pandas 返回意外结果

python - 使用 tensorflow 时 GPU 同步失败

python - 对 pandas 数据框项的迭代

python - 在字符级别对单词列表进行编码

python - IPython 脚本 - 带有状态代码的退出脚本

python - 尝试通过终端安装 ipython 时出现问题

python - IPython 的如何? (问号)运算符实际工作?

python - 将 Geodataframe 写入 geopandas 文件时出现“不支持的驱动程序”错误