首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解python中的帮助/文档

了解python中的帮助/文档
EN

Stack Overflow用户
提问于 2018-02-14 08:52:17
回答 1查看 146关注 0票数 3

这可能是一个愚蠢的问题。我不明白为什么第一个抛出错误,而另一个正常工作。这里有没有一个简单的解释?

代码语言:javascript
复制
In[2]: import scipy
In[3]: help(scipy.optimize)
Traceback (most recent call last):
  File "C:.....lib\site-packages\IPython\core\interactiveshell.py", line 3035, in run_code
  File "<ipython-input-3-87bd9e5565b6>", line 1, in <module>
    help(scipy.optimize)
AttributeError: 'module' object has no attribute 'optimize'



In[4]: from scipy import optimize
In[5]: help(optimize)
Help on package scipy.optimize in scipy:..........................
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-14 09:14:03

这与help()无关,将其导入终端也会产生相同的结果。

scipy是一个包,optimizescipy的一个子包。为了从包中导入模块,必须在顶层包scipy__init__.py文件中指定它。

代码语言:javascript
复制
scipy -
       |- optimize
       |- __init.py__

它不存在,因此您必须通过直接导入它来指定它确实存在。

代码语言:javascript
复制
import scipy

获取scipy,但它没有在__init__.py文件中说明optimize是它的一部分。所以它不会加载它。

代码语言:javascript
复制
from scipy import optimize

进入scipy包并在不使用__init__.py文件的情况下加载optimize。换句话说,您告诉它自己获取optimize

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48778060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档