加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 23:53:53 所属栏目:Python 来源:网络整理
导读:参见英文答案 Importing packages in Python????????????????????????????????????5个 当我尝试使用matplotlib的pyplot时: import matplotlibprint matplotlib.pyplot # just checking 它给了我AttributeError:module对象没有属性pyplot 它可以通过以下方

参见英文答案 > Importing packages in Python????????????????????????????????????5个
当我尝试使用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行.

(编辑:李大同)

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

    推荐文章
      热点阅读