T-R*_*Ray 5 python import module
我正在将 Canopy 与 Jupyter 笔记本一起使用。我想知道是否有一种方法可以在不必调用模块的情况下使用模块中的函数。例如,如果我有
import numpy as np
print np.sin(2)
Run Code Online (Sandbox Code Playgroud)
我希望能够只输入
print sin(2)
Run Code Online (Sandbox Code Playgroud)
首先想到的是将 numpy 函数添加到 Python 使用的任何函数库中。但我想知道这是否可行,如果可行,我该如何去做。请注意,我想导入所有功能,而不仅仅是少数几个。
您可以从模块导入特定对象。尝试:
from numpy import sin
print sin(2)
Run Code Online (Sandbox Code Playgroud)
要将模块中的所有对象导入全局命名空间,您可以使用import *.
from numpy import *
print sin(2)
Run Code Online (Sandbox Code Playgroud)
但不推荐这样做,因为您很容易出现名称冲突,例如,如果两个模块定义了一个名为应调用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'>
Run Code Online (Sandbox Code Playgroud)
您可以在此处看到全局命名空间中的第二个 import fromnumpy被替换sin。
出于这个原因,如果只有几个,最好导入您需要的特定对象,否则只需导入模块并使用模块名称作为前缀(根据您的第一个示例)。在我的示例中,如果您想同时使用两者,math.sin并且nump.sin您需要仅导入模块并使用模块名称作为前缀,或者导入函数并像这样重命名它们:
from numpy import sin as np_sin
from math import sin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6175 次 |
| 最近记录: |