加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 编程开发 > Python > 正文

从NumPy导入python子模块有什么区别,matplotlib包

发布时间:2020-08-04 18:23:00 所属栏目:Python 来源:互联网
导读:参见英文答案 Importing packages in Python5个当我尝试使用matplotlib的pyplot时:import matplotlib print matplotlib.pyplot # just checking 它给了我AttributeError

参见英文答案 > Importing packages in Python5个
当我尝试使用matplotlib的pyplot时:

import matplotlib
print matplotlib.pyplot  # just checking

它给了我AttributeError:’module’对象没有属性’pyplot’

它可以通过以下方式解决:

import matplotlib.pyplot

但我真的很困惑的是,

import numpy
print numpy.random

从’/Applications/Canopy.app/appdata/canopy-1.0.3.1262.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/random给我< module'numpy.random' /__init__.pyc'u0026gt; 两种情况有什么区别? pyplot不能在第一个例子中调用,但随机是在第二个例子中.我认为它与某种包和模块有关.但我不是Python的专业人士,因此要求回答. 最佳答案 对于权威教程,read this.

但对于您的具体情况,看起来这就是发生的事情:

每个基于目录的python模块(如matplotlib和numpy)都有一个__init__.py文件,它确定了什么带入了模块的顶级范围.默认情况下(当__init__.py为空时),范围内没有任何内容.

但是,一些模块(如numpy)决定通过向__init__.py添加import语句将功能提升到顶层.即使您只显式导入了numpy,这也会将这些子模块纳入范围.

为了检查我们的假设,让我们来看看源代码!

> matplotlib’s __init__.py不包括语句import pyplot.
> numpy’s __init__.py确实包括随机导入,在第176行.

(编辑:莱芜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读