我将 Canopy 与 Jupyter 笔记本一起使用。我想知道是否有一种方法可以使用模块中的函数而无需调用模块。例如,如果我有
import numpy as np
print np.sin(2)
我希望能够只输入
print sin(2)
首先想到的是将 numpy 函数添加到 Python 使用的任何函数库中。但我想知道这是否可行,如果可行,我该如何去做。请注意,我想导入所有函数,而不仅仅是选定的几个函数。
您可以从模块导入特定对象。尝试:
from numpy import sin
print sin(2)
导入all将模块中的对象放入您可以使用的全局命名空间中import *
.
from numpy import *
print sin(2)
但这是not推荐的原因是您很容易出现名称冲突,例如如果两个模块定义了一个名为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
and nump.sin
您要么只需要导入模块并使用模块名称作为前缀,要么导入函数并重命名它们,如下所示:
from numpy import sin as np_sin
from math import sin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)