2017-04-18 114 views
2

我在Jupyter筆記本上使用Canopy。我想知道是否有方法使用模塊中的功能,而無需調用模塊。例如,如果我有使用函數而不調用模塊

import numpy as np 
print np.sin(2) 

我希望能夠只需鍵入

print sin(2) 

,想到的第一件事是到numpy的功能加入到了Python使用任何函數庫。但我想知道這是否可行,如果是這樣,我該如何去做。請注意,我想導入所有功能,而不僅僅是一些選定的功能。

回答

1

讀這可以從一個模塊中導入特定對象。嘗試:

from numpy import sin 

print sin(2) 

從一個模塊中導入所有對象到全局命名空間,你可以使用import *

from numpy import * 
print sin(2) 

但這建議,因爲你可以很容易地與名字衝突,例如結束如果兩個模塊定義了一個名爲sin的函數,應調用哪個版本的sin

>>> import math 
>>> import numpy 
>>> math.sin 
<built-in function sin> 
>>> numpy.sin 
<ufunc 'sin'> 

>>> from math import * 
>>> sin 
<built-in function sin> 
>>> from numpy import * 
>>> sin 
<ufunc 'sin'> 

您可以在這裏看到,從numpy第二進口全局命名空間代替sin

因爲這個原因,最好導入你需要的特定對象,如果只有少數,否則只需導入模塊並使用模塊名稱作爲前綴(根據第一個示例)。在我的例子,如果你想同時使用math.sinnump.sin你要麼只需要和前綴導入模塊使用模塊的名稱,或導入功能,並重新命名他們是這樣的:

from numpy import sin as np_sin 
from math import sin 
1
from numpy import sin 
print sin(2) 

https://docs.python.org/2/tutorial/modules.html詳細

+0

我希望能導入所有功能,而不僅僅是一些功能。 –

+0

@ T-ray剛剛閱讀上面的鏈接,你會得到你的答案 從numpy進口* – Kallz

+0

看起來不錯,謝謝! –

相關問題