为什么python中的AttributeError发生?

有一件事,我不明白。

为什么这样

import scipy # happens with several other modules, too. I took scipy as an example now...

matrix = scipy.sparse.coo_matrix(some_params)

产生这个错误:

AttributeError: 'module' object has no attribute 'sparse'
这是因为scipy模块没有任何名为sparse的属性。该属性只有在导入scipy.sparse时才被定义。

当您刚刚导入scipy时,子模块不会自动导入;您需要明确导入它们。大多数软件包同样适用,尽管如果软件包可以选择导入自己的子模块。 (例如,如果scipy / __ init__.py包含一个导入scipy.sparse的语句,那么当您导入scipy时,将导入稀疏子模块。)

http://stackoverflow.com/questions/8696322/why-does-this-attributeerror-in-python-occur

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:为什么python中的AttributeError发生?