我在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
看起来不错,谢谢! –