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

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

参见英文答案 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行.

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/kaifa/python/20200804/8219.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部