当我在探索StackOverflow问题的解决方案,Python使用用户定义的字符串类时,我遇到了这种奇怪的python行为.
def overriden_print(x): print "Overriden in the past!" from __future__ import print_function print = overriden_print print("Hello World!")
输出:
Overriden过去!
现在,我怎样才能print
在python解释器中找回原来的行为?
只需删除覆盖:
del print
这将从globals()
字典中删除名称,让搜索回退到内置插件.
您也可以通过__builtin__
模块直接引用内置功能:
import __builtin__ __builtin__.print('Printing with the original built-in')