如果有人跑过
from numpy import *
然后内置的all
和其他几个函数被numpy
同名的函数所掩盖。
发生这种情况的最常见情况(人们没有完全意识到)是在开始ipython
时ipython --pylab
(但你不应该这样做,使用--matplotlib
,它不会将任何东西导入你的名称空间,但会设置与 gui 相关的魔法,反而)。
完成此操作后,是否有调用内置函数的方法?
这是值得做的,因为内置all
可以处理生成器,而numpy
版本不能。
你可以做
all = __builtins__.all
该语句from numpy import *
基本上做了两件事
numpy
通过重新分配原始值,__builtins__
您可以恢复所需功能的情况。
您可以通过重新导入内置函数来纠正这些问题:
In [1]: all
Out[1]: <function all>
In [2]: from numpy import *
In [3]: all
Out[3]: <function numpy.core.fromnumeric.all>
In [4]: from __builtin__ import *
In [5]: all
Out[5]: <function all>