如何恢复已删除的库函数?

时间:2011-04-08 08:20:42

标签: python

假设我这样做

import cmath
del cmath
cmath.sqrt(-1)

我明白了

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'cmath' is not defined

但是,当我再次导入cmath时,我可以再次使用sqrt

import cmath
cmath.sqrt(-1)
1j

但是,当我做以下

import cmath
del cmath.sqrt
cmath.sqrt(-1)

我明白了

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'sqrt'

即使我再次导入cmath,我也会遇到同样的错误。

是否可以让cmath.sqrt回来?

谢谢!

1 个答案:

答案 0 :(得分:4)

您需要reload

reload(cmath)

...将从模块重新加载定义。

import cmath
del cmath.sqrt
reload(cmath)
cmath.sqrt(-1)

...将正确打印..

1j