如果已经运行
from numpy import *
然后内置的all
和其他几个函数被具有相同名称的numpy
函数遮蔽。
发生这种情况的最常见情况(没有人完全意识到)是在ipython
开始ipython --pylab
时(但你不应该这样做,请使用--matplotlib
,这不是不要将任何东西导入你的名字空间,而是设置与gui相关的魔法,而不是。)
完成此操作后,无论如何都要调用内置函数吗?
这是值得做的,因为内置all
可以处理生成器,而numpy
版本则不能。
答案 0 :(得分:11)
你可以做到
all = __builtins__.all
陈述from numpy import *
基本上做了两件事
numpy
通过从__builtins__
重新分配原始值,您可以恢复所需功能的情况。
答案 1 :(得分:3)
您可以通过重新导入内置来纠正这些问题:
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>