假设我这样做

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弄回来?
谢谢!

最佳答案

你需要reload

reload(cmath)

... 将从模块中重新加载定义。
import cmath
del cmath.sqrt
reload(cmath)
cmath.sqrt(-1)

…将正确打印..
1j

关于python - 如何恢复已删除的库函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5592384/

10-10 17:29