特殊进口问题
我在导入scipy.special
软件包时遇到问题。这不是有害的,只是令人讨厌/有趣。
当我使用导入scipyimport scipy as sp
并尝试访问时,sp.special
我得到:
>>> import scipy as sp
>>> sp.special
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'special'
>>>
但是如果import scipy.special
可以的话,我可以通过scipy.special
和访问特殊模块sp.special
:
>>> import scipy as sp
>>> import scipy.special
>>> scipy.special
<module 'scipy.special' from 'C:\Python27\lib\site-packages\scipy\special\__init__.pyc'>
>>> sp.special
<module 'scipy.special' from 'C:\Python27\lib\site-packages\scipy\special\__init__.pyc'>
>>>
现在,我special
可以通过sp
和scipy
名称空间访问该模块。有趣的是,我可以通过scipy
名称空间访问scipy的其余部分。
第一个问题:为什么special
模块不第一次导入?
第二个问题:如何special
在sp
不定义scipy
名称空间的情况下仅通过名称空间访问模块?
编辑:使用Python 2.7.2和scipy 0.10.1