Python import 和 from import

酷

http://blog.csdn.net/windone0109/article/details/8996184

解决在绘制的matplotlib的图形显示的中文问题过程中,有个模块的引入方式让我费解。

>>> from pylab import *
>>> mpl.rcParams['font.sans-serif']=['SimHei']

 import *   ##然后可以设置变量 mpl ? mpl 哪里来的。

import matplotlib.pyplot as pt 。 #一般的引入模块(函数和类的文件)方式是这样。 后续pt. 等价 

猜测1 mpl为 pylab的成员(子模块) 于是,仿照 matplotlib.pyplot 的引入 写成

>>> import pylab.mpl as ml
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mpl

 报错了,mpl 不是模块。

猜测2 mpl为pylab 的一个类或函数,引入 pylab 整个模块 * ,则可使用mpl 

>>> import pylab
>>> pylab
<module 'pylab' from 'C:\Python27\lib\site-packages\pylab.pyc'>
>>> pylab.mpl
<module 'matplotlib' from 'C:\Python27\lib\site-packages\matplotlib\__init__.pyc
'>

 这样写后需,代码必须 pylab.mpl. 而不能单独写成 mpl 。 (良好的可读性。推荐)

但还是不理解,为什么 不能单独引入 pylab.mpl。 而 matplotlib.pyplot 可以单独引入 查看两者类型都是

<type 'module'>

>>> type(pt)
<type 'module'>
>>> type(pylab.mpl)
<type 'module'>
>>> import pylab.mpl as ml
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mpl
>>>

猜你喜欢

转载自yhzhangdota.iteye.com/blog/2384341