为什么我必须明确导入某些包函数?

时间:2017-06-05 18:53:27

标签: python python-2.7 numpy scipy python-import

给出以下代码并假设x,y和z被正确地重新定义用于插值:

import numpy as np
import scipy as sp

x = np.arange(5,-5.5,0.5)
f = sp.interpolate.interp2d(x, y, z, kind='linear')

为什么最后一行会出现以下错误?

  

'module'对象没有属性'interpolate'

当我明确导入插值时,

我解决了我的问题,如下所示:

from scipy import interpolate

然后像这样调用插值

interpolate.interp2d(x, y, z, kind='linear')

但我不明白为什么当我不必显式导入arange()时,我必须显式导入插值。根据下面的其他帖子和评论,scipy的组织方式与numpy不同,插值本身就是一个子模块(而arange()只是一个函数)。是吗?

0 个答案:

没有答案