重新分配系统方法名称后,是否有一种优雅的方法来重置系统方法名称?

时间:2019-06-26 01:45:01

标签: python jupyter-notebook ipython

这可能是重复的,但我找不到有关它的任何帖子,因此,如果有,请将我链接到该帖子。

如果我在ipython笔记本中有一段代码:

input = input("enter some info")

然后,当我重新运行相同的代码块时,它将给我错误

TypeError: 'str' object is not callable

即使我重命名了变量名,我仍然会遇到相同的错误。如何无需重新启动整个jupyter笔记本而恢复input方法的原始功能?

谢谢

2 个答案:

答案 0 :(得分:2)

最佳做法是不使用任何系统名称,例如inputminmax等。而应完全使用另一个名称,或者至少在其后加下划线:{{1 }},input_min_。但是,如果不可避免的话:

IPython的max_将重设所有名称。用法示例:

reset

答案 1 :(得分:0)

不建议在内置函数后命名变量。但是,如果您坚持要为原始功能做一个占位符。

input_function = input   # save the input function to another variable
input = input("enter some info")

# do something with the user's input with the input variable (string)

input = input_function   # restore it back