为什么在python中发生此AttributeError?

发布于 2021-01-29 18:39:59

有一件我不理解的事情。

为什么这样

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'
关注者
0
被浏览
44
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    发生这种情况是因为该scipy模块没有名为的任何属性sparse。该属性仅在您定义时定义import scipy.sparse

    子模块不会在您刚导入时自动导入import scipy;您需要显式导入它们。对于大多数软件包来说,情况相同,尽管软件包可以根据需要选择导入自己的子模块。(例如,如果scipy/__init__.py包括一份声明import scipy.sparse然后sparse子模块会随时导入进口scipy。)



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看