我在Jupyter筆記本上使用Canopy。我想知道是否有方法使用模塊中的功能,而無需調用模塊。例如,如果我有使用函數而不調用模塊
import numpy as np
print np.sin(2)
我希望能夠只需鍵入
print sin(2)
,想到的第一件事是到numpy的功能加入到了Python使用任何函數庫。但我想知道這是否可行,如果是這樣,我該如何去做。請注意,我想導入所有功能,而不僅僅是一些選定的功能。
我在Jupyter筆記本上使用Canopy。我想知道是否有方法使用模塊中的功能,而無需調用模塊。例如,如果我有使用函數而不調用模塊
import numpy as np
print np.sin(2)
我希望能夠只需鍵入
print sin(2)
,想到的第一件事是到numpy的功能加入到了Python使用任何函數庫。但我想知道這是否可行,如果是這樣,我該如何去做。請注意,我想導入所有功能,而不僅僅是一些選定的功能。
讀這可以從一個模塊中導入特定對象。嘗試:
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.sin
和nump.sin
你要麼只需要和前綴導入模塊使用模塊的名稱,或導入功能,並重新命名他們是這樣的:
from numpy import sin as np_sin
from math import sin
from numpy import sin
print sin(2)
我希望能導入所有功能,而不僅僅是一些功能。 –
@ T-ray剛剛閱讀上面的鏈接,你會得到你的答案 從numpy進口* – Kallz
看起來不錯,謝謝! –