不调用Modu使用函数

2024-05-15 11:38:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用Jupyter笔记本。我想知道是否有一种方法可以在不调用模块的情况下使用模块中的函数。例如,如果我有

import numpy as np
print np.sin(2)

我只想打字

^{pr2}$

首先想到的是将numpy函数添加到Python正在使用的函数库中。但我想知道这是否可行,如果可行,我该怎么做。请注意,我希望导入所有函数,而不仅仅是少数几个函数。在


Tags: 模块方法函数importnumpyasnp情况
2条回答
from numpy import sin
print sin(2)

https://docs.python.org/2/tutorial/modules.html详细阅读

您可以从模块导入特定对象。尝试:

from numpy import sin

print sin(2)

要将所有对象从模块导入到全局命名空间,可以使用import *。在

^{pr2}$

但这是不建议使用的,因为很容易导致名称冲突,例如,如果两个模块定义了一个名为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

相关问题 更多 >