2017-06-06 59 views
3

說我導入與不必要的長時間完整路徑:的Python:從1+水平下降進口

from pandas.core.series import Series 

比較常見的導入很簡單:

from pandas import Series 

,而我可以查看完整路徑與:

Series 
Out[6]: pandas.core.series.Series 

這是我的混亂的來源。在頂級__init__模塊中沒有任何地方有from core import *(或core.series)的任何進口。 .core__init__模塊也是空的。

什麼使我能夠簡單地使用from pandas import Series而不是完整的路徑,或者更一般地說,導入「幾個級別下」的模塊,函數,變量或類?

回答

2

你有inside the __init__.py file

其中 Series is imported
from pandas.core.api import * 

+0

哦,好吧,我明白了。那麼'core.api'是否僅僅爲此目的而存在? (基本上作爲兩個進口之間的中介)我注意到'core.series'定義了'__all__ = ['Series']'。爲什麼不直接導入更直接? –

+0

絕對看起來像它。無論是以這種方式組織決策背後還是有一些歷史原因。 –