如何获取重写的python内置函数?

时间:2014-01-02 15:05:04

标签: python python-2.7

当我在探索StackOverflow问题的解决方案Python Use User Defined String Class时,我遇到了这种奇怪的python行为。

def overriden_print(x):
    print "Overriden in the past!"

from __future__ import print_function

print = overriden_print

print("Hello World!")

输出:

  

过去的Overriden!

现在,我怎样才能在python解释器中找回原来的print行为?

1 个答案:

答案 0 :(得分:40)

只需删除覆盖:

del print

这将删除globals()字典中的名称,让搜索回退到内置插件。

您也可以通过__builtin__ module直接引用内置内容:

import __builtin__

__builtin__.print('Printing with the original built-in')