How to get back an overridden python built-in function?
Question: When I was exploring a solution for the StackOverflow problem, [Python Use
User Defined String Class](http://stackoverflow.com/questions/20884949/python-
use-user-defined-string-class), I came with this strange python behavior.

    
    
    def overriden_print(x):
        print "Overriden in the past!"
    
    from __future__ import print_function
    
    print = overriden_print
    
    print("Hello World!")
    

Output:

> Overriden in the past!

Now, how can I get back the original `print` behavior in python interpreter?


Answer: Just delete the override:

    
    
    del print
    

This deletes the name from the `globals()` dictionary, letting search fall
back to the built-ins.

You can always refer directly to the built-in via the [`__builtin__`
module](http://docs.python.org/2/library/__builtin__.html) as well:

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

